美文网首页
使用Power BI DAX计算按照当月已过天数同比或环比对应的

使用Power BI DAX计算按照当月已过天数同比或环比对应的

作者: 大鹏_Power | 来源:发表于2022-08-11 10:53 被阅读0次

这个场景我是20年碰到的,当时写了一个非常复杂的方案,基本实现了想要的功能。然而在使用的过程中,发现季度的汇总会异常,想了很多办法都没解决。后来参考了一些资料,从新做了思考,于是简化到了现在这个程度。今天正好在群里看到有人问这个问题,于是写下来,希望帮助到更多人。

这个场景在销售分析中是比较常见的,尤其是领导关注的比较细。想看到当月已过的这几天,在去年或者上个月的表现。这个需求我觉得还是比较充分的,对于一些周期性的行业来说,其实非常有必要。今天就给大家分享下如何计算。

需求

按照当月已过的天数,同比去年或环比上月同样已过天数的数据表现。

使用下图中的,t1时间区间和t2与t3分别做环比和同比的计算。

需求理解

思路

这里面最核心的解题思路是,只查看模型最大日期之前的数据,同时据此使用日期函数进行计算,只要能解决这个点,那么公式就非常容易写了。

方案

  • 第一步:计算模型最大日期
模型 模型日期 = MAXX( ALL( 'FM订单表'[下单日期] ), 'FM订单表'[下单日期] )
  • 第二步:计算上月或上年同期
销售 金额 上年 同期 = CALCULATE( [销售 金额], DATEADD( 'DM日期表'[@日期], -1, YEAR ) )
销售 金额 上月 同期 = CALCULATE( [销售 金额], DATEADD( 'DM日期表'[@日期], -1, MONTH ) )
  • 第三步:按当月已过天数计算上年或上月的值
销售 金额 上年 按 当月已过天数 = CALCULATE( [销售 金额 上年 同期], FILTER( 'DM日期表', 'DM日期表'[@日期] <= [模型 模型日期] ) )

销售 金额 上月 按 当月已过天数 = CALCULATE( [销售 金额 上月 同期], FILTER( 'DM日期表', 'DM日期表'[@日期] <= [模型 模型日期] ) )
  • 第四步:按当月已过天数计算和上年已过天数与上月已过天数的同比和环比
销售 金额 上年 按 当月已过天数 同比 % = 
VAR t1 = [销售 金额]
VAR t3 = [销售 金额 上年 按 当月已过天数]
RETURN DIVIDE( t1 - t3, t3 )

销售 金额 上月 按 当月已过天数 环比 % = 
VAR t1 = [销售 金额]
VAR t2 = [销售 金额 上月 按 当月已过天数]
RETURN DIVIDE( t1 - t2, t2 )

最终效果

最终效果 到日期的数据 到年季月的数据

相关文章

网友评论

      本文标题:使用Power BI DAX计算按照当月已过天数同比或环比对应的

      本文链接:https://www.haomeiwen.com/subject/dwpzwrtx.html