同比环比计算公式,什么是同比,什么叫环比?

同比

同比指的是今年的某一月份和去年同一月份的数据对比。比如今年的2月份对比去年的2月份。之所以要这么对比,是要消除季节因素的影响,体现出在同样的季节背景下,今年的成果与去年同期成果对比的增长速度。

同比的计算公式:

同比增长率=(本期数值-去年同期数值)÷ |去年同期数值|×100%,注:这里的除数是去年同期数值的绝对值,因为去年同期可能是负数。

同比、环比,看完就不会搞不清楚了

环比

环比和同比不一样的地方在于选择对比的基期不同,同比选的是去年同期,而同比则是与上一期对比,比如同样是2022年2月份,同比是和2021年的2月份对比,环比是和2022年的1月份对比。每一期都和上期对比,就像铁链一样,环环相扣。环比可反映出现象逐期的发展。

环比计算公式:

环比增长率=(本期数值-上期数值)÷上期数值×100%

在时间序列运算中我们经常听到同比、环比这样的说法,计算公式:

  • 同比:今年/去年-1 或 (今年-上年)/上年
  • 环比:这月/上月-1 或 (本期-上一期)/上一期

用语言来描述就是:

  • 同比用来衡量这个指标与去年同期相比,是增长还是下跌;
  • 环比是用来衡量这个指标与上一期相比,是增长还是下跌。
DAX函数DATEADD函数的用法,以及同比环比的计算步骤与方法

在Power Pivot或Power BI数据模型中要计算同比环比是个很容易的事情,因为有时间智能函数和日期表,不需要太多的知识储备:

DAX函数DATEADD函数的用法,以及同比环比的计算步骤与方法

其中最重要的一个时间智能函数DATEADD函数,需要认真了解一下,DATEADD函数一共有三个参数:

  • 第一参数:日期列
  • 第二参数:偏移量:正整数是向未来偏移,负数是向过去偏移
  • 第三参数:偏移的单位:日、月、季、年

学会这个DATEADD函数,就相当于学会了一下几个函数:

DAX函数DATEADD函数的用法,以及同比环比的计算步骤与方法

这几个函数,NEXT开头的和PREVIOUS开头的函数都是只有一个参数的函数,他们实现的功能只是DATEADD函数功能的一部分,还有SAMEPERIODLASTYEAR函数也是一样的,都很简单,唯一复杂的函数是PARALLELPERIOD,三个参数,和DATEADD函数用法一样,就是返回的值有些不同,大家有兴趣的可以去仔细研究一下。

我们来看例子:模拟了两年的数据,建立了对应的日期表,标记日期表并建立关系。

聚合

建立第一个度量值[销售金额],最简单的聚合,可以通过不同的筛选得到不同的结果,这个聚合,可以是月销、季度销、年度销。

销售金额 = sum(‘销售记录'[金额])

DATEADD

上月销售:

上月 = CALCULATE([销售金额],DATEADD(‘日历'[Date],-1,MONTH))

上季度销售:

上季度 = CALCULATE([销售金额],DATEADD(‘日历'[Date],-1,QUARTER))

上年销售:

上年 = CALCULATE([销售金额],DATEADD(‘日历'[Date],-1,YEAR))

这三个度量值有着相同的结构:CALAULATE+DATEADD

而且DATEADD函数的参数,只有最后一个参数在变化,前两个参数是相同的。

环比:

月度环比,IF函数与BLANK函数是为了清除没有上月数据的情况,DIVIDE函数就是除法函数:

月环比 = if([上月]=BLANK(),BLANK(),DIVIDE([销售金额],[上月])-1)

DAX函数DATEADD函数的用法,以及同比环比的计算步骤与方法

季度环比与月度环比基本相同:

季环比 = IF([上季度]=BLANK(),BLANK(),DIVIDE([销售金额],[上季度])-1)

DAX函数DATEADD函数的用法,以及同比环比的计算步骤与方法

同比:

同比与环比的写法一致,就是时间范围是年与年的比较:

同比 = if([上年]=BLANK(),BLANK(),DIVIDE([销售金额],[上年])-1)

DAX函数DATEADD函数的用法,以及同比环比的计算步骤与方法

以上的例子是在Power BI中做的演示,所以度量值没有冒号。

版权声明:本文内容来自互联网。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系站长举报!一经查实,本站将立刻删除。
(0)
上一篇 2022年7月8日 15:44
下一篇 2022年7月8日 15:48

相关推荐

发表回复

您的电子邮箱地址不会被公开。