如何在Tableau中高亮显示工作表间的不匹配值?
问题描述
在Tableau中有两个工作表,均包含姓名列表,希望高亮显示两个工作表间的不匹配值(匹配值高亮也可)。两个工作表使用同一数据源和字段,也可以在单个工作表中实现该功能,但因字段名称相同,找不到可行方法。
已尝试方法
- 双轴(dual axis)
- 计算字段(calculated fields)
- 动作(actions)
预期效果
| Sheet 1 | Sheet 2 | |
|---|---|---|
| Aliyah | Aliyah | |
| Anna | Anna | |
| Bert | Bert | |
| James | NOT A MATCH | John |
| Jason | NOT A MATCH | Patrick |
| John | ||
| Patrick |
解决方案
单个工作表实现(推荐)
因为共用同一数据源,先给数据添加来源标识:
若两个工作表的数据是通过筛选器区分的,直接用筛选字段作为标识;若不是,在数据源中添加计算字段
数据来源,Sheet1中设为"Sheet1",Sheet2中设为"Sheet2"(或用Union合并两个数据集并添加来源列)。创建计算字段
是否匹配:
IF {FIXED [姓名] : COUNTD([数据来源])} = 2 THEN "匹配" ELSE "不匹配" END
- 应用高亮:
- 把
是否匹配拖到「颜色」标记卡,设置"不匹配"项为特殊颜色; - 若要高亮单元格,右键「姓名」字段 → 设置格式 → 选择「单元格」,基于
是否匹配字段设置条件颜色。
两个独立工作表联动高亮
给两个工作表分别创建计算字段:
- Sheet1的计算字段
是否在Sheet2中存在:
IF {FIXED [姓名] : MAX(IF [数据来源] = 'Sheet2' THEN 1 ELSE 0 END)} = 0 THEN "不匹配" END- Sheet2的计算字段
是否在Sheet1中存在:
IF {FIXED [姓名] : MAX(IF [数据来源] = 'Sheet1' THEN 1 ELSE 0 END)} = 0 THEN "不匹配" END- Sheet1的计算字段
把对应计算字段拖到各自工作表的「颜色」标记卡,设置不匹配项的高亮颜色。
(可选)添加仪表板突出显示动作:
在仪表板中选中两个工作表,添加「突出显示」动作,设置为点击一个工作表的姓名时,另一个工作表高亮匹配项,未高亮的即为不匹配值。
内容的提问来源于stack exchange,提问作者Patrick Marquet
相关产品推荐
相关产品推荐

