Power BI DAX SUMX跨行求和异常:0被计为1的修复方案
修复DAX度量值Qty2的求和问题
问题核心是SUMX迭代表中所有行时,部分行的[Qty1]实际返回1而非预期的0,导致总和多算1个单位。可以通过以下两种方式修复:
方法1:过滤掉Qty1为0的行后再求和
修改代码,在SUMX的迭代表中先筛选出[Qty1]不为0的行,只对这些行的[Qty1]进行求和:
Qty2 = CALCULATE( SUMX( FILTER(Table, [Qty1] <> 0), [Qty1] ), REMOVEFILTERS(Table[Store], Table[Size]) )
方法2:在迭代时判断Qty1的值,仅累加有效数值
如果需要保留所有行,但只累加[Qty1]的有效数值(排除错误的1),可以在SUMX中加入条件判断:
Qty2 = CALCULATE( SUMX( Table, IF([Qty1] = 0, 0, [Qty1]) ), REMOVEFILTERS(Table[Store], Table[Size]) )
补充说明
如果上述方法仍未解决问题,建议检查[Qty1]度量值的逻辑:部分场景下,度量值在无对应数据的行上下文会返回1(比如误用COUNT替代SUM,或未处理空值),此时需要先修正[Qty1]的计算逻辑,确保其在无数据时返回0而非1。
内容的提问来源于stack exchange,提问作者Dana272
相关产品推荐
相关产品推荐

