https://www.jianshu.com/p/7146155ce016
(YOY)同比:13年3月和14年3月两个时段的数据进行对比。
(MOM)环比:14年4月和14年3月两个相邻时间段的数据进行对比。
假如今天是2017年12月3号…
(YTD)年累计:YTD将计算从2017年1月1号到2017年12月3号量值的总计。
(QTD)季累计:QTD将计算从2017年9月1号到2017年12月3号量值的总计。
(MTD)月累计:MTD将计算从2017年12月1号到2017年12月3号量值的总计。
1. 同比
1.1 创建[当期]量值的聚合(sum)
Total Amount TY= SUM(Sales[Amount])
1.2 创建[上一期]量值的聚合(sum)
Total Amount LY= CALCULATE(Total Amount TY, SAMEPERIODLASTYEAR(Date[Datekey]))
算去年同期的四种方法:前三种根据时间返回,如果时间是月份,返回去年的同期月份数据,第四个,一直是全年的。
去年_同期_ADD=
CALCULATE ( [本期],DATEADD ( 'Calendar'[Date],-1, YEAR ))
去年_同期_SAM =
CALCULATE ( [本期],SAMEPERIODLASTYEAR ( 'Calendar'[Date]) )
去年_同期_PAR =
CALCULATE ( [本期],PARALLELPERIOD ( 'Calendar'[Date],-1, YEAR ))
去年_同期_PRE =
CALCULATE ( [本期],PREVIOUSYEAR ( 'Calendar'[Date]) )
日期 | 本期 | 去年_同期_ADD | 去年_同期_SAM | 去年_同期_PAR | 去年_同期_PRE |
---|---|---|---|---|---|
2019/1 | 1 | 1 | 1 | 1 | 12 |
2019/2 | 1 | 1 | 1 | 1 | 12 |
2019/3 | 1 | 1 | 1 | 1 | 12 |
日期 | 本期 | 去年_同期_ADD | 去年_同期_SAM | 去年_同期_PAR | 去年_同期_PRE |
---|---|---|---|---|---|
2019 | 3 | 12 | 12 | 12 | 12 |
PREVIOUSYEAR,无论日期是月份还是年,返回的都是去年一整年的数据
1.3 创建[当期]和[上一期]的[差值]
Diff. = Total Amount TY - Total Amount LY
1.4 计算[差值]占[当期]量值的比例(YOY %)
YOY % = IF(
ISBLANK(Total Amount TY),
0,
Diff. / Total Amount TY)
使用VAR实现
YOY%=
VAR Total Amount TY= SUM(Sales[Amount])
VAR Total Amount LY= CALCULATE(Total Amount TY, SAMEPERIODLASTYEAR(Date[Datekey]))
VAR Diff. = Total Amount TY - Total Amount LY
RETURN
IF(
ISBLANK(Total Amount TY),
0,
Diff. / Total Amount TY)
Total Amount TM= SUM(Sales[Amount])
2.2 创建[前一期]量值的聚合(sum)
Total Amount PM = CALCULATE(Total Amount TM, DATEADD('Date'[Date], -1, MONTH))
2.3 创建[当期]和[前一期]的[差值]
Diff. = Total Amount TM - Total Amount PM
2.4 计算[差值]占[当期]量值的比例(YOY %)
YOY % = IF(
ISBLANK(Total Amount TM),
0,
Diff. / Total Amount TM)
3.累计值(YTD)
3.1 创建[当期]量值的聚合(sum)
Total Amount TM= SUM(Sales[Amount])
3.2 创建累计(YTD)
YTD = CALCULATE(Total Amount TY, DATESYTD(DateTime[DateKey]))