Power BI中如何将单元格内多值提取为切片器筛选项
实现多值Country列的切片器筛选方案
方法1:Excel Power Query + Power Pivot(推荐)
步骤1:提取唯一国家值
- 选中你的数据源表格,点击「数据」选项卡 → 「从表格/区域」,将数据导入Power Query编辑器
- 在编辑器中,选中
Country列,点击「转换」选项卡 → 「拆分列」→ 「按分隔符」,选择你数据中分隔多值的符号(比如逗号、分号),并勾选「拆分为行」选项 - 现在每一行只保留一个国家值,选中拆分后的
Country列,点击「开始」选项卡 → 「移除重复项」,得到所有唯一国家 - 点击「开始」→ 「关闭并上载至」,选择「仅创建连接」,并将这个查询命名为
唯一国家列表
步骤2:配置Power Pivot关联与筛选
- 点击「Power Pivot」选项卡 → 「添加到数据模型」,将原数据源和
唯一国家列表都添加到数据模型中 - 在Power Pivot的「数据视图」中,点击「度量值」→ 「新建度量值」,输入以下DAX公式:
包含选中国家 = VAR SelectedCountry = SELECTEDVALUE('唯一国家列表'[Country]) RETURN IF( ISBLANK(SelectedCountry), 1, IF(SEARCH(SelectedCountry, MIN('原数据表'[Country]),,0)>0,1,0) ) - 返回Excel,插入一个切片器,选择
唯一国家列表中的Country字段作为切片器选项 - 将原数据表格转换为Power Pivot透视表,把需要显示的字段拖到「行」或「值」区域,再将「包含选中国家」度量值拖到「筛选器」区域,设置筛选条件为「等于1」
完成后,在切片器中选择任意国家(比如India),透视表就会自动显示所有Country列包含该国家的行。
方法2:Excel辅助列 + 普通切片器(适合小数据量场景)
如果数据量不大,也可以用简单的辅助列实现:
- 在原数据表新增一列,命名为
是否匹配选中国家 - 将提取好的唯一国家列表放在工作表的独立区域(比如Sheet2的A列),插入切片器关联该区域
- 给辅助列写入公式(假设切片器选中值对应单元格为Sheet2!A1,原Country列在A2单元格,分隔符为逗号):
=IF(ISNUMBER(SEARCH(Sheet2!A1, A2)), 1, 0) - 给原数据表添加筛选,筛选
是否匹配选中国家列为1的行,配合切片器选择手动刷新(或用VBA实现自动刷新)
这种方法操作简单,但数据量大时会出现卡顿,稳定性不如Power Pivot方案。
内容的提问来源于stack exchange,提问作者Patel
相关产品推荐
相关产品推荐

