如何在Tableau表格中显示所有评级项并补全0值?
解决Tableau显示所有评级项并补0的问题
你之前写的计算字段有两个问题:一是最后一行ELSEIF IFNULL(LOOKUP(SUM([Overall Rating]), 0), 0)语法错误,二是整体逻辑仅给存在的评级标记1,没法补全原始数据里缺失的评级项。按下面步骤操作就能解决:
1. 手动创建包含所有评级的维度
原始数据里没有部分评级的记录,得先造一个完整的评级列表:
- 右键数据面板空白处 → 「创建」→「维度」,命名为完整评级列表
- 在计算框里输入代码:
{"Excellent", "Very Good", "Variable", "Needs Immediate Development"}
- 确定后,右键这个新维度 → 「转换为离散」
2. 关联完整评级与原始数据
- 把完整评级列表拖到行或列区域,再把原始的
Overall Rating字段也拖进视图 - 点击数据面板里的两个数据源节点(同一数据源的两个实例),设置关联条件:用
完整评级列表和TRIM([Overall Rating])做匹配
3. 编写正确的计数计算字段
创建名为评级次数的计算字段,输入以下代码(二选一即可):
- 统计总次数用:
IFNULL(COUNTD(TRIM([Overall Rating])), 0)
- 按人员分组统计用:
IFNULL(SUM(CASE WHEN TRIM([Overall Rating]) = [完整评级列表] THEN 1 ELSE 0 END), 0)
4. 调整视图显示设置
- 把评级次数拖到标记卡的「文本」或度量区域
- 右键行/列上的完整评级列表 → 勾选「显示缺失值」
- 要是还不显示,去「分析」面板 → 「合计」里取消勾选「隐藏缺失值」
内容的提问来源于stack exchange,提问作者rookiesportsanalyst
相关产品推荐
相关产品推荐

