如何在 DAX 中找到两列的 SUMPRODUCT

san*_*jay 3 dax

我是 DAX 公式的新手。我正在寻找如何SUMPRODUCT为以下数据执行等效于 a 的 excel :

Id | Metric | Weight | Metric times Weight |  
1 | 20% | 30% | 6.0% 

2 | 10% | 20% | 2.0%  

3 | 25% | 20% | 5.0%  

4 | 12% | 10% | 1.2%  

5 | 15% | 10% | 1.5%  

6 | 2% | 10% | 0.2% |  | 


Net | 84.0% | 100.0% | 84.0% (expected Metric*Weight)
Run Code Online (Sandbox Code Playgroud)

我需要 15.9%,即SUMPRODUCT(col1, col2).

行总计需要是sumproduct()与上面预期的交叉乘积。

任何提示我如何实现这一目标?

小智 7

如果数据位于名为Table1 的表中,则以下 DAX 公式应该有效:

WeightedAvg := SUMX(Table1, Table1[Metric] * Table1[Weight])
Run Code Online (Sandbox Code Playgroud)

基本上,函数 SUMX 在表 1 上进行[Metric] * [Weight]迭代,然后在所有迭代完成后将结果相加。

如果您有一列包含产品(如您的示例中所示),那么您只需将该字段拖到数据透视表的值区域。

希望这可以帮助!