同比是分析指标中最基础的指标,但是你真的了解PowerBI中同比的实现吗?
我们先来看一下常见的我们书写同比的方式
sales = SUM( 'FactSales'[sales] )
sales.PY =
CALCULATE(
[sales],
DATEADD( 'DimDate'[Date], -1, YEAR )
)
sales.PY2 =
CALCULATE(
[sales],
SAMEPERIODLASTYEAR( 'DimDate'[Date] )
)
无论是使用DATEADD还是SAMEPERIODLASTYEAR都可以实现同比的计算,
一如上图所示,看起来没有任何问题,但是当我们把粒度细到天时再来看数据,2022年7月的数据只24号,可是上面两种方法在月维度时计算同比时计算的是2021年7月整月。
这时候很人很多可能会想到用月度至今计算就会正确了,是这样吗,我们来看一下
sales.MTD = TOTALMTD( [sales], 'DimDate'[Date] )
sales.MTD.PY =
CALCULATE(
[sales.MTD],
DATEADD(DimDate[Date], -1, YEAR )
)