2.21 PowerBI数据建模-连续进货天数

加入 PowerBI自己学 知识星球:下载源文件,边学边练;遇到问题,提问交流,有问必答。

有一张销售表,需要统计:

1 按客户的最大连续进货天数;

2 连续2天及以上进货的客户数。

解决方案

首先计算当前进货的最近一次未进货日期,然后用当前进货日期减去这个日期就得到连续进货天数了。有了连续进货天数,按日期可以得出最大连续进货天数,然后再按客户可以得出按客户的最大连续进货天数,最后取按客户的最大连续进货天数大于等于2的客户数就很容易了。

模型

度量值 

销量:

Sales = SUM('销售表'[销量])

最近未进货日期:

从全量日期表中取销售表中进货日期之前的没有销量的最大日期。

最近未进货日期 =

CALCULATE(MAX('日期表'[Date]),

    FILTER(ALL('日期表'),

        [Date]

        [Sales]=0

    )

)

连续进货天数:

使用DATEDIFF计算最近未进货日期和所选日期范围内最大的销售日期之间的天数。

连续进货天数 = DATEDIFF([最近未进货日期],MAX('销售表'[日期]),DAY)

按日期最大连续进货天数:

取所选日期范围内,连续进货天数的最大值。

按日期最大连续进货天数 = MAXX(VALUES('日期表'[Date]),[连续进货天数])

按客户最大连续进货天数:

取所选客户中,每个客户的最大连续进货天数的最大值。

按客户最大连续进货天数 = MAXX(VALUES('客户表'[客户]),[按日期最大连续进货天数])

连续进货2天以上的客户数:

取所选客户中,每个客户的最大连续进货天数>=2的客户数。

连续进货2天以上的客户数 =

CALCULATE(DISTINCTCOUNT('客户表'[客户]),

    FILTER(VALUES('客户表'[客户]),

        [最大连续进货天数]>=2

    )

)

版权声明:
作者:dingding
链接:https://www.techfm.club/p/201208.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>