DAX编写KPI求和公式触发SUM函数仅接受列引用报错如何解决
报错原因
- DAX内置的
SUM函数仅支持传入单个物理列作为参数,你当前在SUM中传入了多列运算的表达式,不符合语法要求,所以触发报错。
修正方案
使用迭代函数SUMX替换SUM即可,SUMX会逐行遍历指定表,对每行先执行自定义的运算逻辑,最后将所有行的运算结果累加求和。
对应你现有代码的修正版本(保留[PROP_MtDemandeFin]逻辑)
KPI1 := SUMX ( '替换为你实际的表名', -- 此处填写你要计算的表的实际名称 DPPMTPART * ( [PROP_MtDemandeFin] - ( PFIINVESTISSEMENT - ( ENVMTINITIAL - VSTD_ENVMTDISPO ) ) ) )
完全匹配你最初KPI公式的版本
如果你要完全对齐最开始写的SUM((PFIINVESTISSEMENT - (ENVMTINITIAL-VSTD_ENVMTDISPO))*DPPMTPART)逻辑,使用以下代码:
KPI1 := SUMX ( '替换为你实际的表名', ( PFIINVESTISSEMENT - ( ENVMTINITIAL - VSTD_ENVMTDISPO ) ) * DPPMTPART )
注意事项
- 代码中直接写的列名(
DPPMTPART/PFIINVESTISSEMENT/ENVMTINITIAL/VSTD_ENVMTDISPO)必须属于你指定的计算表 - 带中括号的
[PROP_MtDemandeFin]如果是已定义的度量值无需加表前缀,如果是物理列建议补充表名前缀避免逻辑歧义
内容的提问来源于stack exchange,提问作者user9517769
相关产品推荐
相关产品推荐

