各种时间指标的度量值,让你一次看个够

在各种经营分析报告中,我们常常会看到YTD,YOY这样的统计指标,这样的数据计算并不难,尤其是在PowerBI中,因为有时间智能函数的帮助,大大简化了这些计算,从而快速满足定期的报告需求。
下面就给你列出这些常用统计数据的度量值,帮你快速掌握各种期间数据的算法。
如果对时间智能函数不熟悉,可以先看看这篇文章:
假设数据模型为一张订单表和一张对应的日期表,并已经建立了基础度量值:
收入 = SUM('订单'[销售额])
XTD Month/Quarter/Year To Date
MTD Month To Date
MTD =
CALCULATE([收入],DATESMTD('日期表'[日期]))
MTD1=
TOTALMTD([收入],'日期表'[日期])
季初至今
QTD Quarter To Date
QTD =
CALCULATE([收入],DATESQTD('日期表'[日期]))
QTD1=
TOTALQTD([收入],'日期表'[日期])

上期的MTD,简称为PMTD,就是上个月MTD,有了这个数据,计算环比时十分方便;而PYTD,上年的本年至今,计算年累计的同比也需要该数据。
并且在写PXTD时,上面已经建好的XTD度量值也可以直接复用。
上月的月初至今
PMTD Previous Month to Date
PMTD =
CALCULATE([MTD],DATEADD('日期表'[日期],-1,MONTH))
PMTD1=
TOTALMTD([收入],DATEADD('日期表'[日期],-1,MONTH))
上季的季初至今
PQTD Previous Quarter to Date
PQTD =
CALCULATE([QTD],DATEADD('日期表'[日期],-1,QUARTER))
PQTD1=
TOTALQTD([收入],DATEADD('日期表'[日期],-1,QUARTER))
上年的年初至今
PYTD Previous Year to Date
PYTD =
CALCULATE([YTD],DATEADD('日期表'[日期],-1,YEAR))
PYTD1=
TOTALYTD([收入],DATEADD('日期表'[日期],-1,YEAR))
PYTD2=
PYTD3=
PYTD4=

上年的本年至今,其实通过PXTD的思路也能计算出来,只是因为上年的本期至今太常用了,就单独再介绍一下,只列出一种写法,其他写法也很简单,自己琢磨一下吧。
上年的月初至今
PY MTD Previous Year Month to Date
PY MTD =
CALCULATE([MTD],SAMEPERIODLASTYEAR('日期表'[日期]))
上年的季初至今
PY QTD Previous Quarter Month to Date
PY QTD =
CALCULATE([QTD],SAMEPERIODLASTYEAR('日期表'[日期]))
上年的年初至今
PY YTD Previous Year Month to Date
PY YTD =
CALCULATE([YTD],SAMEPERIODLASTYEAR('日期表'[日期]))
PY YTD其实和上面写的PYTD等价。

有了上面的这些本期、上期、上年的度量值,再计算与上期的差异,以及同比和环比就非常简单了。
MOM Month Over Month
MOM % Month Over Month Percentage
MOM % =

QOQ Quarter Over Querter
QOQ =
QOQ % Quarter Over Querter Percentage
QOQ % =

YOY Year Over Year
本年累计、本季累计以及本月累计与上年的同期比较,都比较常用,这里都列出来。
YOY YTD =
IF([PY YTD]<>BLANK(),[YTD]-[PY YTD])
YOY % Year Over Year Percentage
本月累计的同比
本季累计的同比
本年累计的同比
YOY YTD % = DIVIDE([YOY YTD],[PY YTD])

上面这些关于时间计算的度量值,以及上一篇MAT的计算(Power BI 度量值 | 滚动聚合),记住这些度量值的写法,基本可以满足大部分的正常需求,

上述度量值的示例文件已分享在知识星球,需要的请自行下载练习。