Power BI中Category 1负值求和总计异常,求排查错误
解决Power BI中Category 1列总计值错误的问题
问题根源
你当前的DAX公式是行级判断逻辑:
Category 1 = If(%Salary/Desired Salary < .90, Difference, 0)
在总计行时,DAX会把整个列的%Salary/Desired Salary作为整体计算(而非逐行判断后累加),如果整体比值不小于0.9,就会返回0,这就是你得不到预期的-30000的原因。
解决方案
方案1:改用度量值(推荐)
用SUMX+FILTER实现逐行判断后汇总符合条件的Difference值:
Category 1 总计 = SUMX( FILTER( '你的表名', // 替换为实际表名 '你的表名'[%Salary]/'你的表名'[Desired Salary] < 0.9 ), '你的表名'[Difference] )
这个度量值会遍历每行数据,筛选出满足条件的行,再对这些行的Difference求和,直接得到你需要的总计值。
方案2:修改计算列(仅适用于必须保留计算列的场景)
用ISINSCOPE区分行级和总计行逻辑:
Category 1 = IF( ISINSCOPE('你的表名'[员工ID]), // 替换为表中唯一标识每行的列(如员工ID、记录ID) IF('你的表名'[%Salary]/'你的表名'[Desired Salary] < 0.9, '你的表名'[Difference], 0), SUMX( FILTER('你的表名', '你的表名'[%Salary]/'你的表名'[Desired Salary] < 0.9), '你的表名'[Difference] ) )
该公式在普通行执行原有的行级判断,在总计行执行符合条件的Difference汇总逻辑。
内容的提问来源于stack exchange,提问作者LogicAndArt
相关产品推荐
相关产品推荐

