Tableau Cloud/Desktop仪表板中添加反向筛选图表的实现方法
Tableau Cloud/Desktop仪表板中添加反向筛选图表的实现方法
嘿,这个需求我之前帮不少同行解决过,其实用Tableau自带的功能就能轻松搞定,给你两种靠谱的实现思路,按需选择就行:
方法一:上下文筛选器+计算字段(适合多筛选条件场景)
这种方法能完美适配多个仪表板筛选器同时生效的情况,步骤很清晰:
- 第一步,先把你仪表板上正在用的所有筛选器都设为上下文筛选器:右键点击每个筛选器,选择「添加到上下文」,这样Tableau会先执行这些筛选,确定好基础的筛选后数据集。
- 第二步,创建一个计算字段,比如命名为
筛选状态,公式可以这么写(记得把[记录ID]换成你数据集里唯一标识每条数据的字段,比如订单号、用户ID这类):
这个公式的逻辑是:上下文筛选器生效后,IF [记录ID] IN {FIXED : [记录ID]} THEN "已筛选数据" ELSE "反向数据" END{FIXED : [记录ID]}会获取所有筛选后的记录ID,然后判断当前记录是否在这个集合里,以此区分“已筛选”和“反向”数据。 - 第三步,把这个
筛选状态字段分别拖到两个图表的筛选器面板里:第一个图表只勾选「已筛选数据」,第二个图表只勾选「反向数据」。 - 最后把两个图表拖进仪表板,调整好布局就行——之后你修改仪表板的筛选条件时,两个图表会自动同步,一个显示筛选后的内容,另一个显示剩下的所有数据。
方法二:集(Set)+计算字段(适合单筛选条件场景)
如果你的仪表板只有一个核心筛选字段,用集的方法会更直观:
- 第一步,基于你要筛选的字段创建一个集,比如叫
筛选数据集:右键点击目标字段,选择「创建→集」,在弹出的窗口里选择「使用当前选择」,或者直接关联仪表板的筛选器(后续可以右键集→编辑集,改成「基于筛选器」来联动)。 - 第二步,创建计算字段
反向数据标识,公式写:
这个公式会判断当前记录是否属于筛选集,不属于的就是我们要的反向数据。IF NOT ISMEMBEROF([筛选数据集]) THEN "反向数据" ELSE "已筛选数据" END - 第三步,和方法一一样,把这个标识字段拖到两个图表的筛选器里,分别选择对应的选项,再放到仪表板里就搞定了。
小提醒
- 不管用哪种方法,唯一标识字段(比如记录ID)一定要选对,不然会出现数据判断错误的情况。
- 如果是多筛选条件,优先选方法一,上下文筛选器能确保所有筛选规则都被优先执行,结果更准确。
备注:内容来源于stack exchange,提问作者Jurgen Palsma
相关产品推荐
相关产品推荐

