DAX 匹配行,然后将每个列乘以匹配值,保持列结构

DAX Match Row then Multiply each Column by matched value keeping Column structure

提问人:Alistair Hogan 提问时间:6/19/2023 最后编辑:Alistair Hogan 更新时间:6/19/2023 访问量:175

问:

我不确定我是否遗漏了一些明显的东西,因为我是 DAX 语言的新手。

我有 2 个表,一个包含总数量的设备,另一个包含每台设备的相应组件集。

我需要计算一个新表,该表首先匹配每行中的设备,然后将 SKU 表中的每一列乘以总设备,同时保持 SKU 列结构。

随着新设备的添加,此表需要轻松扩展,这会导致更多的 SKU。

我包括了一些小例子,但实际的表格要大得多。可以转置表格,以更好地适应需要特定布局的计算

设备汇总表:

设备 数量
机 管 局 7
BB型 4
抄送 20

SKU表:

设备 商品编号SKU#1 商品编号SKU#2 商品编号SKU#3
机 管 局 2 2 8
BB型 1 0 4
抄送 0 1 0

所需表:

设备 商品编号SKU#1 商品编号SKU#2 商品编号SKU#3
机 管 局 14 14 56
BB型 4 0 16
抄送 0 20 0

我可以通过 Lookupvalue 函数传输/匹配数据,但是乘法仍然是一个问题

Match Model count = LOOKUPVALUE('Equipment Summary Table'[Qty],'Equipment Summary Table'[Equipment], 'SKU table'[Equipment])

我已经厌倦了 Product 和 ProductX 函数,但它们汇总了列中的数据。

它似乎是笛卡尔乘积,但每行分开。 它与这篇文章类似,但问题是我无法让它自动扩展 SKU 表中的所有列。

https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-Fetch-base-value-of-1-column-and-multiply-it-to-all-the-rows/m-p/2749844

筛选器 DAX 查找 powerbi-desktop 笛卡尔-产品

评论

0赞 Pieter 6/20/2023
我认为您混淆了数据表设计和表示。如果取消透视 SKU 表,使其如下所示:(EquipmentID、SKU#、Qty),则只需在联接两个表后进行数学运算。(SUM/SUMPRODUCT 等)。查看 PowerQuery 中的 UNPIVOT 运算符。
0赞 Alistair Hogan 6/20/2023
谢谢Pieter,我会试一试的!看起来这将是它的解决方法

答: 暂无答案