You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Tableau中如何统计多选项字符串总出现次数(ELSEIF方案失效)

在Tableau中统计多列字符串的总出现次数

问题场景

我尝试在Tableau中创建计算字段来可视化特定字符串的出现次数,编写了如下计算逻辑:

IF [Avada Cadabra] = 1  THEN   'Avada Cadabra'  
ELSEIF [Aloha amora] = 1  THEN   'Aloha amora'  
ELSEIF [Depulso Levioso] = 1  THEN   'Depulso Levioso'  
ELSEIF [Levioso] = 1  THEN   'Levioso' 
ELSEIF [Protego] = 1  THEN   'Protego' 
ELSEIF [Avada Cadabra] = 1  THEN   'Avada Cadabra'    
END

但由于数据行中可能同时存在多个列值为1的情况,ELSEIF只会返回第一个匹配的字符串,无法统计每个字符串的总出现次数,需要更合适的解决方法。

解决方案

方法1:为每个字符串单独创建计数字段

针对每个目标字符串,创建独立的计算字段来标记其出现:

  • Avada Cadabra 计数:IF [Avada Cadabra] = 1 THEN 1 ELSE 0 END
  • Aloha amora 计数:IF [Aloha amora] = 1 THEN 1 ELSE 0 END
  • Depulso Levioso 计数:IF [Depulso Levioso] = 1 THEN 1 ELSE 0 END
  • Levioso 计数:IF [Levioso] = 1 THEN 1 ELSE 0 END
  • Protego 计数:IF [Protego] = 1 THEN 1 ELSE 0 END

将这些计算字段拖入视图后,使用SUM()聚合函数即可得到每个字符串的总出现次数。

方法2:转置数据结构(更高效灵活)

当前数据为宽表格式(每列对应一个字符串),转置为窄表后能更便捷统计:

  1. 在Tableau数据源界面,选中所有对应字符串的列(Avada Cadabra、Aloha amora等)
  2. 点击顶部菜单栏的数据 > 转置,将列转换为行,生成字段名称(存储字符串)和字段值(存储1/0)两列
  3. 添加筛选器,过滤掉字段值不等于1的行
  4. 将字段名称拖入视图,使用COUNT()聚合函数即可直接得到每个字符串的总出现次数

这种方法无需维护多个计算字段,后续新增字符串列时只需重新转置即可,扩展性更强。

内容的提问来源于stack exchange,提问作者user20944254

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 15:15:07