我在SSAS/Power BI中有2个表:
Table1:
| ValueName| ValueKey |
|:---- |:------: |
| abc | 1,2,3 |
表:
| ID | ValueKey | Value |
|:---- |:------: |:------: |
| ID1 | 1 | 87,8 |
| ID2 | 85 | 14 |
| ID3 | 90 | 95,8 |
| ID4 | 3 | 13,4 |
我需要检索(在临时表中,稍后对这个临时表进行计算)ID, Value和只有那些具有ValueKey 1或2或3的行。
我需要用DAX来做。在SQL中,我们有针对这种情况的STING_SPLIT函数。有什么方法可以让我用DAX实现这一点吗?我的ValueKey列(table1)是逗号分隔的文本,ValueKey (table2)列是INT。
Thanks in advance
就像@Jeroen Mostert建议的那样,您可以通过像这样滥用PATHCONTAINS函数来做到这一点:
FilteredTable2 =
VAR CurrKey = SELECTEDVALUE ( Table1[ValueKey] )
VAR PathFromKey = SUBSTITUTE ( CurrKey, ",", "|" ) /* Paths use | as separator. */
RETURN
FILTER ( Table2, PATHCONTAINS ( PathFromKey, Table2[ValueKey] ) )
但是,这是而不是关联表的最佳实践。一般来说,您不希望在单个字段中出现多个键。