如何在Tableau中创建支持多选的单术语字符串筛选器?
解决方案:实现单个甜点的多选筛选器
分两种方案,按需选择:
方案一:Excel预处理(最简便稳定)
用Power Query把分号分隔的甜点拆成多行:
- 选中Excel里的
Dessert列,点击「数据」选项卡 → 「从表格/范围」(确保数据有表头)。 - 进入Power Query编辑器后,选中
Dessert列,点击「转换」→ 「拆分列」→ 「按分隔符」。 - 分隔符选「分号」,拆分方式选「拆分为行」(不要选拆分为列)。
- 点击「关闭并上载」,生成新表后,每条用户记录会按甜点数量拆成多行(比如Maria对应3个甜点就生成3行)。
- 把新表导入Tableau,直接拖
Dessert到筛选器,默认就是支持多选的单个甜点筛选器。
方案二:Tableau内直接处理(无需修改原Excel)
方法1:自定义SQL拆分
连接Excel数据源时,选择「自定义SQL」,输入以下语句(替换Sheet1$为你的工作表名,列名按实际修改):
SELECT [姓名], [年龄], TRIM(s.value) AS 单个甜点 FROM [Sheet1$] CROSS APPLY STRING_SPLIT([Dessert], ';') s
- 执行后,Tableau加载拆分后的多行数据,拖
单个甜点到筛选器即可实现多选。
方法2:表计算拆分
如果不想用SQL,可通过计算字段+表计算实现:
- 创建计算字段
拆分后的甜点,公式:
SPLIT([Dessert], ";", INDEX())
- 把
拆分后的甜点拖到「行」,右键该字段 → 「计算依据」→ 选「表(向下)」。 - 右键
拆分后的甜点→ 「显示缺失值」,此时会展示所有拆分出的甜点(后续可筛选空值)。 - 把姓名、年龄拖到「详细信息」,再把
拆分后的甜点拖到筛选器,去掉空值后就能多选单个甜点。
内容的提问来源于stack exchange,提问作者codingrainha
相关产品推荐
相关产品推荐

