[Tableau] 计算同比

计算同比

如何计算同比、保存同比结果、查看同比计算的公式及解释、可能犯错原因


1)将年作为维度计算同比

1.在列中选择日期字段,一定要使用日期格式的。

  将需要计算同比的字段放入行中。

2.行中选择【年度同比增长】,表格中的标签也可以直接通过上面状态栏(红框部分)直接点击显示。

3.可将原有字段再拖一份到行中,更直观展示。此图【2019】年同步数据是因为没有找到上一年(2018)年的对比值,故显示为空。

4.按住 【ctrl】,将上面计算的同比字段直接拖拽到【度量】模块,重命名为【同比计算】

 5.右键刚刚拖拽的【同比计算】,选择编辑。可以查看到计算的公式

 

(ZN([对比预算]) - LOOKUP(ZN([对比预算]), -1)) / ABS(LOOKUP(ZN([对比预算]), -1))

ZN(): 判空,如果为空则返回 0 。
  实例:ZN([对比预算]) 如果 [对比预算] 为null,则返回0,否则返回本身。

ABS(): 绝对值

LOOKUP(exp, offset): 返回目标行(指定当前行的相对偏移量)中表达式的值。
exp: 计算字段或公式
offset: 偏移量。FIRST() + n :第一行偏移n行。LAST() - n :最后一行便宜n行。
  示例:LOOKUP(SUM(交易总金额), -1): 分区(列维度)中前一个列的值。


2)列中无年份字段计算同比

1.列中拖入日期字段,设置为月份。

  行中加入刚刚新建的【同比计算】。(因为日期问题,行中的数值会显示为红色)

 2.点击编辑表计算,将【所在级别】选择为【最深】

3.此时得到按照【前一月份】的同比值  [( -548 ) - ( -604 )] / abs( -604 )  =  0.923。

 

 4.修改函数偏移量,按照月前推 12 个偏移量

(ZN([对比预算]) - LOOKUP(ZN([对比预算]), -12)) / ABS(LOOKUP(ZN([对比预算]), -12))

可能出错地方:

1. 列中的日期字段格式自定义,这样导致行中无法选择 【年度同比增长】

原文地址:https://www.cnblogs.com/x-you/p/14716099.html