今天分享的是通过数据建模实现库存以及平均库存的计算。
通常我们用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)
结合日程表即可得到指定期间的各个指标: