根据入库时间和出库时间计算库存

工坊的小伙伴们大家好,我们经常遇到一种分析场景:根据每一条产品的入库时间和出库时间计算某个时点的库存数量。今天我们将专门解决这个问题。

01 数据准备

库存示意数据如下,包含每条产品的产品名称、入库日期、出库日期等信息:

file

02 建模过程

我们需要根据时间维度来统计库存数量,所以首先需要建立日期表,可选择使用DAX表达式或者其他方式生成一张如下所示的日期表:

file

建立维度表之后,我们通常需要将维度表与事实表关联起来,但此处无论使用入库日期还是出库日期与日期表中的日期列进行关联,都不合理,所以我们不建立关系,考虑在度量值中添加逻辑来实现与日期的联动。

计算选定日期的库存数量的逻辑是,针对选定的日期查找库存表中入库日期在当天及之前,出库日期在当天之后的记录,并对符合条件的记录包含的库存数量做汇总。

以上逻辑中的筛选条件使用DAX表达式来表述就是☟☟

'库存'[入库日期] <= VALUES('日期表'[日期]) && '库存'[出库日期] > VALUES('日期表'[日期])

“选定一个日期“的逻辑可以转化为IF和HASONEVALUE的组合,综合以上考虑,可写出库存数量如下:

file

这样在报表视图中生成的结果是:

file

03 月末库存

一般每月库存的值采取月末当天的库存值,此时,我们需要构造月末库存数量的度量值,只需把第二节中当前日期的逻辑改为当前日期对应的月末日期即可,如下:

file

在报表视图中呈现的结果如下:

file

至此,我们提供了关于库存数量计算的一种常用套路及延伸,关于库存还有其他的分析需求,欢迎踊跃留言~~



* PowerPivot工坊原创文章,转载请注明出处!


如果您想深入学习微软Power BI,欢迎登录网易云课堂试听学习我们的“从Excel到Power BI数据分析可视化”系列课程。或者关注我们的公众号(PowerPivot工坊)后猛戳”在线学习”。


长按下方二维码关注“Power Pivot工坊”获取更多微软Power BI、PowerPivot相关文章、资讯,欢迎小伙伴儿们转发分享~

Power Pivot工坊