首页 > 解决方案 > 角色表过滤器表达式中的多个值的 DAX

问题描述

对于嵌入式 Power BI 报表,CustomData我使用 将成员 ID 传递给 SSAS 表格多维数据集中的角色。该角色在Member表上有一个过滤器表达式。表达式是Member[MemberId] =VALUE(CUSTOMDATA()。它工作正常。

我想传递以逗号分隔的多个成员值,例如 1,3,9,因此允许这些成员中的任何一个进行过滤。我玩过INContainsrowAllselected没有工作。有什么建议么?

标签: dax

解决方案


您可以使用PATHCONTAINS来确定是否Member[MemberId]CUSTOMDATA(). 如果不能传入由管道字符分隔的列表,则可以使用SUBSTITUTE将分隔符转换为管道。

PATHCONTAINS(SUBSTITUTE(CUSTOMDATA(), ",", "|"), Member[MeberId])

请注意,如果其中有空格CUSTOMDATA(),它将无法匹配。也就是说,如果自定义数据是1, 2, 3并且成员 id 是2则不会有匹配项,因为自定义数据中的第二项包含空格。


推荐阅读