上篇文章介绍了预算目标的分解,将预算分解好以后,就可以与实际数据进行比较了。对比很简单,只需要将实际数据和预算数据的度量值放到图表里就可以了,比如用组合图来展现每日的实际和预算数据,实际值用柱形图表、预算值用折线图表示:
可以直观看出每日收入的预算完成情况,这里有个问题是,对于还没有发生的日期,不会有实际数据,而只显示预算数据看起来比较奇怪,如何让未发生业务的日期,预算数据也不显示呢?
其实只要先找出业务数据的最后一个日期,并判断当前上下文的日期是否早于这个最新日期就可以了,用度量值判断如下:
最新业务日期 = MAXX( ALL( '订单表' ) , '订单表'[订单日期] )
是否早于最新日期 = IF( MIN( '日期表'[日期] ) <= [最新业务日期] , 1 , 0 )
有了这个判断度量值,就可以优化预算的度量值:
收入 预算 当期 = IF( [是否早于最新日期], [收入 预算分配] )
其中[收入 预算分配]就是上篇文章中介绍的分解后预算目标,也是上面组合图中用到的度量值,拿这个新的度量值替换掉它,组合图就会变成这样的:
预算数据与实际数据显示的区间完全一致。
如果把月度和季度的字段放到组合图的共享轴中,就可以通过下钻,直观展现这几个维度的当期预算完成情况:
上面都是当期数据的对比,并不是看出本年累计是否完成了预算,与预算的差异是多少?
为了能清晰的看出本年累计是否完成的预算目标,再建立这几个指标的累计度量值:
本年累计收入度量值
收入 实际 YTD =
IF( [是否早于最新日期] ,
CALCULATE( [收入] , DATESYTD( '日期表'[日期] ) ) )
本年累计预算度量值
收入 预算 YTD =
IF( [是否早于最新日期] ,
CALCULATE([收入 预算分配],DATESYTD('日期表'[日期])))
为了同时进行同期对比,再写个上年同期的累计收入度量值:
收入 实际 PYTD =
IF( [是否早于最新日期] ,
CALCULATE( [收入 实际 YTD] , SAMEPERIODLASTYEAR( '日期表'[日期] ) ) )
这几个度量值都直接判断了是否在业务日期范围内,避免在未来期间显示。
将这几个度量值放到面积图中,就可以直观看出累计收入的预算完成情况以及同期对比情况了:
累计收入虽然同比上升,但离预算目标还有一点差距。
预算对比分析只是用到了最基本的DAX函数,也没有复杂的计算逻辑,PowerBI做起来难度很小,关键是熟悉业务场景,学会用DAX准确的表达,并选择合适的图表进行清晰直观的展现。
-精彩推荐-
网友评论