TSQL string_split在DAX中的使用



我在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] ) )
但是,这是而不是关联表的最佳实践。一般来说,您不希望在单个字段中出现多个键。

最新更新