同比是分析指标中最基础的指标,但是你真的了解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],

同比分析在数据工作中至关重要。在PowerBI中,使用DATEADD或SAMEPERIODLASTYEAR函数可能在某些情况下无法准确反映去年同期数据,尤其是在日期粒度细化到天时。文章通过实例说明,即使使用MTD,仍可能在月度对比时计算整月数据而非实际同期。正确做法是根据当前数据截止日期计算去年同期,若当期未发生,则不计算。同时,对于闰年等特殊情况,需要考虑全年天数差异,确保去年同期的计算正确性。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



