计算KPI两列乘积时DAX语句报语法错误如何解决
错误原因
DAX 内置的SUM函数仅支持传入单个列作为入参,不支持直接传入多列运算的表达式,这是你编写的语句触发语法错误的核心原因。
修正方案
使用 DAX 迭代函数SUMX实现和原 SQL 完全等价的逻辑,SUMX会逐行遍历指定表、计算每行的表达式结果后再做汇总,修正后的度量值写法如下:
KPISalary := SUMX(Employee, Employee[AmountByDay] * Employee[WorkedDays])
逻辑说明
- 第一个参数
Employee指定遍历的表,对应 SQL 里的FROM Employee - 第二个参数定义逐行计算规则:对
Employee表的每一行,先计算日薪AmountByDay和工作天数WorkedDays的乘积 - 最终
SUMX会汇总所有行的乘积结果,和原 SQL 的计算逻辑完全对齐。
内容的提问来源于stack exchange,提问作者mohamed-mhiri
相关产品推荐
相关产品推荐

