Power BI中如何将Excel的SUMPRODUCT加权平均公式转换为DAX格式
DAX实现Excel加权平均计算方案
你使用的Excel公式本质是按数量作为权重的加权平均计算,对应DAX实现方案如下:
核心实现逻辑
- Excel的
SUMPRODUCT(E2:E6, D2:D6)等价于DAX中用SUMX迭代表的每一行,计算两列乘积后再汇总 - 用DAX专用的安全除法函数
DIVIDE完成除法运算,避免分母为0时报错
完整度量值代码
将代码中的你的表名替换为Power BI内实际的表名即可使用:
加权平均成本 = DIVIDE( SUMX('你的表名', [cost成本] * [number数量]), SUM('你的表名', [number数量]), 0 )
结果验证
代入你提供的样本数据计算:
- 分子:11 + 22 + 33 + 44 + 5*5 = 55
- 分母:1+2+3+4+5 =15
- 计算结果:55/15≈3.67,和Excel计算结果完全一致
补充说明
- 该度量值支持Power BI的筛选上下文联动,添加日期、品类等筛选条件后,会自动计算筛选范围内的加权平均值,无需修改公式
DIVIDE的第三个参数为分母为0时的默认返回值,可根据业务需求调整
内容的提问来源于stack exchange,提问作者KReEd
相关产品推荐
相关产品推荐

