在PowerBI中以先进先出规则计算商品库存成本

先进先出(FIFO)是企业管理中广泛应用的库存计价方法,尤其在财务核算和成本分析中扮演着重要角色。本篇文章将介绍如何在PowerBI中按先进先出规则计算库存商品的库存成本。

问题描述

按先进先出规则,计算库存商品的库存成本。计算过程如下图所示:

具体问题如下图所示:

本案例的初始数据如下:

入库:

日期商品入库采购单价
2022年7月1日苹果103
2022年7月2日苹果202
2022年7月15日香蕉302

出库:

日期商品出库
2022年7月1日苹果7
2022年7月6日苹果12
2022年7月9日苹果5

若需其它辅助表等,可自行创建并建模。

解题要点

因为DAX中并不支持递归,因此在面对先进先出等场景时,需要找到一种数学上能计算的方法来处理。

假设总出库数量为:100,那么本案例的计算思路如下表所示:

日期入库数量累计入库数量MAX(累计入库-100, 0)MIN(MAX(累计入库-100, 0), 入库数量)
2025/1/1101000
2025/1/2304000
2025/1/3206000
2025/1/4157500
2025/1/52610111
2025/1/6121131312
2025/1/75118185
2025/1/8101282810
2025/1/9201484820
2025/1/10301787830

解决方案

首先,数据模型如下图所示:

然后,创建如下度量值:

库存成本 = 
SUMX(
	'入库',
	VAR OutNum = CALCULATE(SUM('出库'[出库]),'出库'[商品]=EARLIER('入库'[商品]))
	VAR CumInNum = CALCULATE(SUM('入库'[入库]),'入库'[日期]<=EARLIER('入库'[日期]),ALLEXCEPT('入库','入库'[商品]))
	RETURN
	IF(CumInNum-OutNum>0,MIN(CumInNum-OutNum,'入库'[入库])*'入库'[采购单价])
)

然后创建一个矩阵,并将入库表中的商品字段作为行标签,再将上面的度量值放入矩阵的值字段即可,如下图所示:

总结

以上方法仅供参考,若有更优雅的解决方案,欢迎留言讨论,或者加入我们的技术交流群,一起享受这种思维碰撞的快乐吧!

PBI/DAX技术交流群(QQ):344353627

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PowerBI | 夕枫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值