You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Power BI中单元格值除以整列求和失败,DAX公式报错求助

解决方案:Power BI DAX计算单元格值除以列总计的问题

错误原因分析

报错The SUM function only accepts a column reference as the argument number 1.的核心问题:

  • 若[Weightage Selection]是度量值,SUM函数仅支持传入物理列,不能直接包裹度量值;
  • 若[Weightage Selection]是物理列,直接调用SUM([Weightage Selection])会受当前行上下文限制,无法获取列的全局总计。

针对两种场景的修复公式

场景1:Weightage Selection是物理列

用CALCULATE+ALL清除行上下文,获取列的全局总计(对应你Excel示例中的22500):

Agg Forecast Accuracy = 
IFERROR(
    ( '你的表名'[Weightage Selection] / CALCULATE(SUM('你的表名'[Weightage Selection]), ALL('你的表名')) ) * [Forecast Accuracy],
    0
)
  • 替换'你的表名'为实际表名称;
  • ALL('你的表名')会移除当前表的所有行筛选,确保分母是整个列的总计值。

场景2:Weightage Selection是度量值

直接用CALCULATE获取度量值的全局总计结果,无需SUM包裹:

Agg Forecast Accuracy = 
IFERROR(
    ( [Weightage Selection] / CALCULATE([Weightage Selection], ALL('你的表名')) ) * [Forecast Accuracy],
    0
)
  • CALCULATE([Weightage Selection], ALL('你的表名'))会计算忽略当前行筛选的度量值总计,作为分母。

匹配Excel示例的逻辑

你的Excel公式(2500/22500)*100中:

  • 2500 = 当前行的Weightage Selection值
  • 22500 = Weightage Selection列的全局总计
    修复后的DAX公式完全对应这个逻辑,通过CALCULATE+ALL确保分母始终是列的总计,不受当前行上下文影响。

内容的提问来源于stack exchange,提问作者Mr Pool

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 18:32:08