table 内列表的切片器过滤
Slicer filtering on a list inside a table
假设我有一个 table 里面有一个列表
+---------+--------------+
| tag | val |
+---------+--------------+
| [a,b,c] | 1 |
| [a,e] | 2 |
| [f,g] | 3 |
| [e,f] | 4 |
+---------+--------------+
我可以创建一个切片器,当 selected 时仍会过滤标签列列表中的项目吗?
例如。 i select 在过滤器“a”上它将显示 1 和 2。“e”将过滤 2 和 4,“f”将过滤 3 等
您可以在使用 PATHCONTAINS 函数的地方创建一个度量(返回 1/0)。我们需要删除方括号并将逗号替换为管道“|”;您可以将此度量放入 table/matrix 可视化 https://dax.guide/pathcontains/
中的筛选器窗格
ForFilter =
var __selectedTag = SELECTEDVALUE(disconnected[tagList])
var __tags = SELECTEDVALUE('Table'[Tag])
var __path = SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(__tags,",","|"),"[",""),"]","")
return
IF(PATHCONTAINS(__path, __selectedTag),1,0)
编辑:
多选版本
var __string = CONCATENATEX( VALUES(disconnected[tagList]), disconnected[tagList],"|")
var __tags = SELECTEDVALUE('Table'[Tag])
var __path = SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(__tags,",","|"),"[",""),"]","")
VAR Table0 =
SELECTCOLUMNS(
TOPN(1,
SELECTCOLUMNS(
ADDCOLUMNS (
GENERATE (
ROW ( "tag", __path ,"Text",__string ),
VAR TokenCount =
PATHLENGTH ([Text] )
RETURN
GENERATESERIES ( 1, TokenCount )
),
"Word", PATHITEM ([Text], [Value] )
),
"Word",IF(PATHCONTAINS([tag],[Word]),1,0),
"Tag", [tag],
"Values", [Value]
), [Word],DESC, [Values])
,"Bool", [Word])
return
Table0
假设我有一个 table 里面有一个列表
+---------+--------------+
| tag | val |
+---------+--------------+
| [a,b,c] | 1 |
| [a,e] | 2 |
| [f,g] | 3 |
| [e,f] | 4 |
+---------+--------------+
我可以创建一个切片器,当 selected 时仍会过滤标签列列表中的项目吗?
例如。 i select 在过滤器“a”上它将显示 1 和 2。“e”将过滤 2 和 4,“f”将过滤 3 等
您可以在使用 PATHCONTAINS 函数的地方创建一个度量(返回 1/0)。我们需要删除方括号并将逗号替换为管道“|”;您可以将此度量放入 table/matrix 可视化 https://dax.guide/pathcontains/
中的筛选器窗格ForFilter =
var __selectedTag = SELECTEDVALUE(disconnected[tagList])
var __tags = SELECTEDVALUE('Table'[Tag])
var __path = SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(__tags,",","|"),"[",""),"]","")
return
IF(PATHCONTAINS(__path, __selectedTag),1,0)
编辑: 多选版本
var __string = CONCATENATEX( VALUES(disconnected[tagList]), disconnected[tagList],"|")
var __tags = SELECTEDVALUE('Table'[Tag])
var __path = SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(__tags,",","|"),"[",""),"]","")
VAR Table0 =
SELECTCOLUMNS(
TOPN(1,
SELECTCOLUMNS(
ADDCOLUMNS (
GENERATE (
ROW ( "tag", __path ,"Text",__string ),
VAR TokenCount =
PATHLENGTH ([Text] )
RETURN
GENERATESERIES ( 1, TokenCount )
),
"Word", PATHITEM ([Text], [Value] )
),
"Word",IF(PATHCONTAINS([tag],[Word]),1,0),
"Tag", [tag],
"Values", [Value]
), [Word],DESC, [Values])
,"Bool", [Word])
return
Table0