上一篇文章,我们介绍了Tableau在时间序列下的同比、环比的一般操作。
对于时间序列下的同环比分析,配合LOOKUP函数,基本上可以满足大部分的分析需求。 有兴趣的同学可以参考笔者上一篇文章:

但是对于非时间序列下,或者指定维度的同环比数据,上面的方法却无法实现。
究其原因是由于lookup的作用是用于行的偏移。若当行维度不是时间维度,那么上面的的方法返回的是错误的值。
如现在想看不同子类别商品本月销售额与上月销售额对比。上面的方法就不可行。

大多数同比、环比分析中,我们还是需要通过日期函数将本期、同期、上期数据明确下来。
本文将演示如何通过参数、Fixed函数去实现同环比分析。
我们先看一下效果:

实现步骤:
1、根据订单日期新建一个参数:
右键订单日期-创建-参数 ,这一步是建立了一个日期型列表,范围是数据中订单日期的所有值。

我们需要分析的每月的对比,因此,我们需要将新建的这个参数改为 月 的格式 。只需要将显示格式按下图改为【yyyy/mm】格式即可。
如果你要分析的是日、周、季度、年的对比,需要将本参数改成对应的格式。

2、新建上月销售额、本月销售额、环比字段
下面我们新建对应的字段:
【上月销售额】

【本月销售额】

【环比】

我们简单解析一下上面两个公式:
【上月销售额】
* FIXED [子类别] 的作用是 “指定维度”,能够明确指定按子类别度进行聚合,完全独立于视图中的可视化维度级别
* SUM(IF DATEDIFF('month',[订单日期],[订单日期 参数])=1 THEN [销售额] END)
是将[订单日期]和 所选 [订单日期 参数] 差额在一个月内的销售额做了汇总,
其它日期不汇总。因此可以用于表示选定日期上一个月的销售额。
【本月销售额】
* FIXED [子类别] 的作用是同上一个公式。
*后半部分的作用是 将 [订单日期]和 所选 [订单日期 参数] 年份和月份都一样的日期的 销售额汇总,因此用于表示选定日期的本月销售额。
3、可视化展现
右键点击工作表右侧空白区-选择参数,将[订单日期 参数] 展示出来用于 月份的筛选。将子类别拖入行功能区,新建的字段拖入度量值。如下图,销售额月份的环比就制作完成了。


笔者注:
上面的思路是通过参数计算出【本期】【上期/同期】的数据,然后求出同环比,通过调整参数和计算字段的日期类型,也可以用于不同时间类型的同环比分析。 欢迎大家踊跃尝试 。
如果本文对你有所帮助,欢迎点赞关注。谢谢大家。

