🤬 场景需求
在制造业多级BOM成本核算中,最让财务崩溃的不是计算复杂,而是层级嵌套。
传统的Excel VLOOKUP或手工分层计算,面对8层甚至10层以上的BOM结构时,逻辑极其脆弱。一旦中间某层级的物料价格发生变动,需要层层穿透才能算准成品成本。这种“树状结构”手动维护极易出错,导致报价滞后。
💡 知识点破局
利用 DAX 的 PATH 家族函数 与 父子架构(Parent-Child Hierarchy) 建模,可以将复杂的树状BOM瞬间“平铺化”,实现成本的动态穿透。
核心公式(计算穿透总成本):
成品穿透总成本 =
VAR CurrentPart = SELECTEDVALUE('BOM表'[物料编码])
RETURN
SUMX(
FILTER(
ALL('BOM表'),
PATHCONTAINS('BOM表'[BOM路径], CurrentPart)
),
'BOM表'[用量] * RELATED('物料价格表'[标准单价])
)
⚠️ 避坑提醒
1. 死循环自检:PATH函数不允许 A->B->A 的循环逻辑,PQ 阶段必须清洗。
2. 用量系数:计算成本时千万别漏掉“单位用量(QPA)”,这是财务核算最基础的逻辑。
3. 性能优化:BOM 超过 10 层建议在 Power Query 中预生成 PATH 列,减少实时计算压力。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END











暂无评论内容