DAX计算库存、平均库存及周转

今天分享的是通过数据建模实现库存以及平均库存的计算。

通常我们用excel计算库存,都是得到最新的库存,要反观以往任意时点的就无能为力了。通过数据建模计算,能够查询任意时点的库存,进而计算库存周转等指标。

我们要处理的表如下(采购入库和销售明细都是如下的格式,如有不同,可通过Power Query整理成如下格式):



步骤一:通过Power Query导入数据



因为需要计算每个品名的库存,需要一个包含所有品名的表。








步骤二:进入Power Povit建立模型




建立好关系,创建数据透视表后就可以关闭该窗口了。

步骤三:创建度量值


创建以下度量值:

1、      销量=SUM('出'[数量])

2、      入库量=SUM('入'[数量])

3、    累计销量=var tbl=FILTER(ALL('Calendar'),'Calendar'[Date]<=MAX('Calendar'[Date]))

return CALCULATE([销量],tbl)

4、    累计入库量=var tbl=FILTER(ALL('Calendar'),'Calendar'[Date]<=MAX('Calendar'[Date]))

return CALCULATE([入库量],tbl)

5、    库存=[累计入库量]-[累计销量]


下图为创建度量值的界面,不再一 一截图展示

完成度量值的创建后,就可以和普通的透视表一样,通过选择字段,得到如下报表:


目前已得到每天的入库量、销量、累计入库量、累计销量以及库存。

或者如图每个品名的信息:


如果需要查看某一天的库存,可插入日程表,通过选择日程表上的日期,可得指定日期的销量及库存情况。


接下来创建度量值计算累计平均库存:

累计平均库存=CALCULATE(AVERAGEX(ADDCOLUMNS('Calendar',"库存量",[库存]),[库存量]),

FILTER(ALLSELECTED('Calendar'),'Calendar'[Date]<=MAX('Calendar'[Date])))


就可以结合日程表得到任意期间的库存和平均库存:


最后计算周转天数,创建度量值

周转天数=

            var tem=CALCULATE(AVERAGEX(ADDCOLUMNS('Calendar',"库存量",[库存]),[库存量]),

DATESBETWEEN('Calendar'[Date],MIN('Calendar'[Date]),MAX('Calendar'[Date])

))

var result=DIVIDE(tem*COUNTROWS('Calendar'),[销量])

return IF(HASONEVALUE('Calendar'[Date]),BLANK(),result)


结合日程表即可得到指定期间的各个指标:



最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容