Tableau中跨列统计相似值计数并保留原列的实现方法
在Tableau中保留原始列的同时合并统计两列值的出现次数
方法1:数据透视(推荐,适合多值场景)
这是最便捷的方案,完全不会丢失原始列数据:
- 进入数据源页面,按住Ctrl选中
COLUMN1和COLUMN2,右键选择透视,系统会自动生成透视字段名称(记录原列名)和透视字段值(记录颜色值)两列,原始的COLUMN1和COLUMN2会完整保留在数据源中。 - 切换到工作表,将
透视字段值拖到列架子,将计数(透视字段值)拖到行架子。 - 把图表类型改成柱状图,就能得到目标统计结果:Red(4)、Orange(2)、Blue(3)、Green(2)。
- 如需查看原始数据,直接把
COLUMN1和COLUMN2拖到视图中即可,不会影响统计结果。
方法2:手动创建计算字段(适合少量固定值)
如果颜色数量少且固定,可以逐个创建统计字段:
- 创建计算字段
Red 总次数:SUM(IF [COLUMN1] = 'Red' THEN 1 ELSE 0 END) + SUM(IF [COLUMN2] = 'Red' THEN 1 ELSE 0 END) - 重复上述步骤,分别创建
Orange 总次数、Blue 总次数、Green 总次数,替换字段中的颜色值即可。 - 将所有统计字段拖到行架子,手动创建一个包含所有颜色的维度(比如新建计算字段
颜色,输入'Red'/'Orange'等值,或直接用度量名称维度)拖到列架子,切换为柱状图即可。
方法3:LOD表达式统一统计
适合需要更灵活统计逻辑的场景:
- 先创建一个包含所有唯一颜色的维度列(可通过
COLUMN1和COLUMN2提取唯一值,或手动输入),命名为颜色值。 - 创建计算字段
总次数:{FIXED [颜色值] : SUM(IF [COLUMN1] = [颜色值] THEN 1 ELSE 0 END) + SUM(IF [COLUMN2] = [颜色值] THEN 1 ELSE 0 END)} - 将
颜色值拖到列架子,总次数拖到行架子,切换为柱状图即可生成目标统计结果。
内容的提问来源于stack exchange,提问作者cbyoda
相关产品推荐
相关产品推荐

