对于有两列日期(订单日期和发货日期)的订单表,之前介绍过如何利用虚线关系和USERELATIONSHIP函数实现不同日期类型的销售额计算,参考:

认识Power BI中的非活动关系

还有一种需求经常被问到,对于有订单日期和发货日期的订单表,如果发货后表示该笔订单完成,那么如何统计出尙未完成的订单呢?

本文以统计当日未完成订单数量以及累计未完成订单数量来介绍这个问题。

首先,日期表与订单表同样只能有一列建立活动关系,这里还是只用订单表的订单日期与日期表建立关系,发货日期不建立关系。

然后写一个度量值来计算每日的未发货订单数量:

其中订单数是个基础度量值:

订单量 = COUNTROWS('订单表')

上图的度量值如果只看这个DAX本身,可能难以理解,只有结合外部上下文才更好理解它的含义。

在外部日期表上下文的筛选环境下,日期表的日期按订单日期筛选订单表,也就是查找出当日产生的订单,FILTER在当日订单的发货日期中,筛选发货日期晚于当前日期或者发货日期为空的订单,然后计算满足条件的订单数量销售额的计算公式,就得到了当日的未发货订单数量。

这个度量值是在外部上下文的关系筛选,与DAX内部的筛选逻辑共同作用销售额的计算公式,来实现分析需求的。

如果要进一步计算出截至当天累计的未发货订单,度量值可以这样来写:

(点击查看大图)

因为要计算累计未发货的订单,不是当日的,不能让关系自动筛选当前日期的订单,所以这里用了两个FILTER条件。

对两个FILTER条件筛选出的集合取交集,得到截至当前日期,所有未发货的订单,对这些订单计数,就得到了累计未发货订单数量。

上面写法是统计未完成的订单数量,如果需要统计未完成的订单金额,同样是上面的思路,只需要把CALCULATE的第一个参数改成对销售额求和就可以了。

本文的这个分析需求不难实现,不过通过这个简单的例子,仔细理解这两个度量值的写法,可以帮助我们理解外部上下文、内部DAX条件的筛选逻辑,以及二者的共同作用,最终按业务逻辑完成计算实现了分析目的。

发表回复

后才能评论

本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。

最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。 若排除这种情况,可在对应资源底部留言,或联络我们。

对于会员专享、整站源码、程序插件、网站模板、网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。

如果您已经成功付款但是网站没有弹出成功提示,请联系站长提供付款信息为您处理

源码素材属于虚拟商品,具有可复制性,可传播性,一旦授予,不接受任何形式的退款、换货要求。请您在购买获取之前确认好 是您所需要的资源