Tableau中如何仅显示两个度量总计的差值(去除年份行数值)
解决Tableau中仅在总计行显示自定义表计算的问题
我来帮你搞定这个问题!你现在遇到的情况是TOTAL()函数会在每一行都返回全局总计的结果,而我们只需要它出现在最后的总计行里。这里有个简单的方法来实现你的需求:
方法:用条件判断限定计算仅在总计行执行
创建一个新的计算字段,使用LAST()函数来判断当前行是否是视图中的最后一行(也就是总计行),只有满足条件时才执行你的计算:
IF LAST() = 0 THEN TOTAL(SUM([Sales])) - TOTAL(SUM([Profit])) END
原理说明:
LAST()是Tableau的表计算函数,它返回当前行到分区最后一行的行数差。在总计行时,这个值为0;其他行则会返回大于0的数字。- 通过
IF LAST() = 0的条件判断,我们只让计算逻辑在总计行生效,其他行返回Null,自然就不会显示数值了。
操作步骤:
- 在Tableau中点击「分析」→「创建计算字段」;
- 把上面的公式粘贴进去,给字段起个直观的名字(比如「总计行:销售减利润」);
- 把这个新计算字段拖到视图的文本/标签区域,替换掉你原来的计算字段;
- 确认视图中只有最后的总计行显示了
Sum(Sales)-Sum(Profit)的结果,其他年份行不再显示该数值。
备选方案:用SIZE()和INDEX()判断
如果你更习惯用索引类函数,也可以用下面的公式,效果完全一致:
IF INDEX() = SIZE() THEN TOTAL(SUM([Sales])) - TOTAL(SUM([Profit])) END
SIZE()返回当前分区的总行数,INDEX()返回当前行的索引(从1开始),当索引等于总行数时,就代表当前是最后一行(总计行)。
内容的提问来源于stack exchange,提问作者Jose Cherian
相关产品推荐
相关产品推荐

