[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. 列中的日期字段格式自定义,这样导致行中无法选择 【年度同比增长】