在Power BI矩阵中有这样一个列
国家
India
India, Pakistan
Myanmar, Bhutan, India
我想添加一个过滤器,如果我选择印度,上面三个条目都应该返回。
目前我的过滤器看起来像这样:
India
India, Pakistan
Myanmar, Bhutan, India
我想让它看起来像这样
India
Pakistan
Myanmar
Bhutan
你可以创建一个" NEW table ";,并使用以下DAX查询;
FilterTable =
VAR tmp =
ADDCOLUMNS ( Sheet1, "ItemPaths", SUBSTITUTE ( CONCATENATEX(Sheet1, Sheet1[Column1]), ",", "|" ) )
RETURN
DISTINCT(SELECTCOLUMNS (
GENERATE (
tmp,
ADDCOLUMNS (
GENERATESERIES ( 1, PATHLENGTH ( [ItemPaths] ) ),
"Items", TRIM(PATHITEM ( [ItemPaths],[Value], TEXT ))
)
),
"Countries", [Items]
))
将Sheet1和Column1替换为您的表和列名…
下面是我解决这个问题的步骤
- 创建了一个复制表作为我的源表
- 删除了所有的列,除了一个,我想保持一个过滤器
- 复制该列,并通过删除分隔符 将其逐行分隔
- 在我的主表和这个新创建的过滤器表之间建立关系(reln显示的是多对多,但请继续)
- 在过滤器中应用,同样可以解决上述问题。