PowerBI切片器实现选中与未选中分类数据分别展示的问题
PowerBI实现切片器选中/未选中分类分表展示
问题分析
你之前的方法无效,核心原因是Nonselected度量值是对整个Data表的未选中分类计数求和,返回的是一个整体数值,无法实现行级别的筛选判断——也就是无法识别表格中每一行的Class是否属于未选中集合。
解决方案
前提准备
保持你已创建的独立Categories表(通过DISTINCT(Data[Class])生成),切片器绑定Categories[Class],必须确保Categories与Data表之间没有建立任何关系,避免切片器直接过滤Data表。
1. 创建行级判断度量值
创建两个用于行级筛选的度量值:
选中分类判断度量
Is Selected = VAR SelectedClasses = DISTINCT(Categories[Class]) RETURN IF( // 处理切片器未选任何值的场景:默认显示所有数据为选中 ISBLANK(COUNTROWS(SelectedClasses)), 1, SELECTEDVALUE(Data[Class]) IN SelectedClasses )
未选中分类判断度量
Is Non-Selected = VAR SelectedClasses = DISTINCT(Categories[Class]) RETURN IF( // 处理切片器未选任何值的场景:默认无未选中数据 ISBLANK(COUNTROWS(SelectedClasses)), 0, NOT(SELECTEDVALUE(Data[Class]) IN SelectedClasses) )
2. 配置两个表格视觉对象
选中数据表格:
- 添加
Data[Class]和Data[value]到表格字段。 - 打开「视觉对象筛选器」,添加
Is Selected度量值,设置筛选条件为等于1。
- 添加
未选中数据表格:
- 添加
Data[Class]和Data[value]到表格字段。 - 打开「视觉对象筛选器」,添加
Is Non-Selected度量值,设置筛选条件为等于1。
- 添加
验证效果
当你在切片器中选中TypeA和TypeC时:
- 选中表格会显示
TypeA、TypeC的对应数据; - 未选中表格会显示
TypeB、TypeD的对应数据,完全符合你的需求。
内容的提问来源于stack exchange,提问作者sawsawi
相关产品推荐
相关产品推荐

