暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

PowerBI-通过组合图展示MTD销量的达成

BISeven 2021-07-04
1613

有时候,我们想要按每日跟踪销量当月的完成进度,可以利用PowerBI中的组合图来达到我们想要的结果:

                                            其中柱状图为MTD,按天进行递增的


一般情况下,指标在日期上的粒度为月,而销量在日期上的粒度为日,所以我们的模型如下:

注意:

1. 在建立模型时,我们将日期拆成了两张不同粒度的表:年月的粒度到月份,年月日的粒度到日

2. 所有表之间的都是单向筛选(如果改为双向的话,下面target的度量将不再适用)

 

那么,其中的度量值该如何写呢?


第一:我们先写MTD的度量值


salse.YTD = 
// 这里也可以换成selectedvalue,该变量存储的是当前的日,
//即横坐标-日,为了能够使filter能够访问当前日,多说一句:横轴的日也
//处于某个迭代函数中
var vDay = MAX('年月日'[日])
var vResult = CALCULATE([salse],
filter(all('年月日'[日]),
[日]<=vday))< span="">returnvResult)


第二:Target的度量值,就比较简单了:


Target = CALCULATE(sum('指标'[指标]))

 

第三:分别将Sales.YTD放入ColumnValues,Target放入LineValues,然后将日拖入Sharedaxis 即可

 

 

 

如果我们将两个日期表之间的关系改为双向,在度量值不变的情况下,那结果会什么样的?


在日期切片器单选的情况下没有什么不一样的,但是如果在切片器多选的情况,就会出现一下这种情况.

 

在这里不去判断这种情况是否合理,仅仅解释这种现象。


1. 因为2月份并没有29,30,31这三天

2. 因为双向筛选,年月日这张表也会筛选表年月,当到了29,30,31的时候,只能筛选出1月份的指标,所以图中的指标线出现了下降的现象


那么该如何处理这种情况?


在计算Target时,删除 字段:日 对表-年月的筛选就可以了


target = CALCULATE(sum('指标'[指标]), all('日期'[日]))

两个日期表之间开启双向筛选与将日期表合为一张表,通过多对多关系连接指标表,达到的效果是一样的,模型关系如下:

 

 

总结:

1. 我们可以柱状折线图来展示MTD销量的完成进度及度量值该如和编写

2. 对比了不同的模型之间度量值的区别


我是BISeven,欢迎交流

 

 

文章转载自BISeven,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论