如何在Power BI中使用切片器实现数据集关键词筛选功能
Power BI切片器关键词筛选表格解决方案
需求说明
- 核心目标:搭建两个视觉对象,点击切片器里的关键词后,表格只显示包含该关键词的条目
- 数据集情况:包含
Activity(活动)和Amount(金额)两列,共数千条数据,示例条目如「ABCD酒店公司晚宴」「山间午餐」 - 视觉对象规划:
- 视觉对象1:制作包含Dinner、Lunch等关键词的切片器
- 视觉对象2:展示全量数据的表格,点击关键词后自动筛选对应条目并保留总计
遇到的问题
尝试使用DAX字符串包含函数、调整过滤器配置,要么报错,要么筛选后无结果,需要可行解决方案
解决方案步骤
1. 新建独立的关键词表
直接用原数据中的关键词做切片器会存在逻辑冲突,需先创建无关联的独立关键词表:
- 切换到「数据」视图,点击「新建表」,输入以下DAX代码:
若需添加更多关键词,直接在大括号内补充即可,比如关键词表 = DATATABLE("关键词", STRING, {{"Dinner"}, {"Lunch"}}){"Dinner"}, {"Lunch"}, {"Brunch"}
2. 编写关键词匹配度量值
在原始数据表中新建度量值,用于判断当前活动条目是否包含切片器选中的关键词:
关键词匹配 = VAR 选中关键词 = SELECTEDVALUE('关键词表'[关键词]) RETURN IF( ISBLANK(选中关键词), 1, // 未选关键词时显示全部数据 IF( CONTAINSSTRING('原数据表'[Activity], 选中关键词), 1, 0 ) )
注意将代码中的原数据表替换为你实际使用的表名
3. 配置视觉对象
- 切片器:将「关键词表」中的「关键词」字段拖入切片器视觉对象,即可得到关键词选择器
- 表格:拖入
Activity和Amount字段,然后在「筛选器」面板中为表格添加筛选条件:将「关键词匹配」度量值设置为等于1 - 总计:表格默认会显示总计,若未显示,可在表格的「格式」选项卡中找到「总计」并开启
常见问题修复
- 筛选无结果:大概率是大小写不匹配导致,Power BI默认区分大小写,将度量值修改为以下代码可忽略大小写:
关键词匹配 = VAR 选中关键词 = SELECTEDVALUE('关键词表'[关键词]) VAR 小写活动 = LOWER('原数据表'[Activity]) VAR 小写关键词 = LOWER(选中关键词) RETURN IF( ISBLANK(选中关键词), 1, IF( CONTAINSSTRING(小写活动, 小写关键词), 1, 0 ) ) - 运行报错:检查原数据表名称是否正确,DAX代码中的引号、括号是否配对
内容的提问来源于stack exchange,提问作者user23357700
相关产品推荐
相关产品推荐

