Power BI如何计算任意期间的上一期?
上上周的文章介绍了非标准日历的计算(Power BI非标准日历的计算思路),虽然是非标准日历,但还是有规律的,每个周期是固定的,可以在日期表中提前做好标记。
实际分析中还有一种情况,任意选定一个时间范围,这个范围的数据很容易计算,但如何计算这个范围的上一个相同周期的数据呢?
比如,选择2019年10月1日到10月7日国庆期间,如何快速计算出上一个七天,也就是2019年9月24日到9月30日的数据,进而对比分析?
在PowerBI中,只需要一个度量值就能轻松搞定,下面来看看如何写出这个度量值。
依然是根据PowerBI星球文章中常用的销售数据模型,计算任意期间的收入对比?
日期表与订单表建立好关系,先写一个基础度量值:
本期收入 = SUM('订单表'[销售额])
要计算上期,就需要先判断本期的范围:开始日期,结束日期,以及这个期间的有多少天,进而构建上个期间的范围。
这个逻辑很简单,你需要做的就是用DAX把它表达出来就可以了。
上期收入的度量值如下:
这个度量值根据当前选定的时间范围,自动计算上个时间范围,并根据这个时间范围扫描订单表来计算上一期的收入,DAX表达式每一步都进行了注释,你可以轻松得看出来是如何实现的。
有了本期数据和上期数据,计算环比就很简单了,
环比 = DIVIDE([本期收入]-[上期收入],[上期收入])
然后可以看看效果,选择任意的时间范围,
任意期间的上期即时响应,是不是很方便。
关键是掌握这个思路,学习如何根据当前上下文,构建其他的时间范围,并用DAX流畅的表达出来。
如果要计算任意期间的下一期,你是不是知道怎么做了呢?
赞 (0)