Power BI DAX度量问题:多条件收入计算无结果及可视化报错
Power BI DAX度量:符合条件的时间段总收入
需求明确
要计算满足以下所有条件的总收入:
- 运输类型为
Incoming - 状态为
Invoiced、Shipped或Received - 站点与产品需遵循排除规则:
- 站点29104:排除产品
S-ExtFreight、S-ProductInDelivery、S-WeighOnly - 站点33103:排除产品
S-ExtFreight、S-WeighOnly - 站点23103:排除产品
S-ExtFreight、SAxleWeigh
- 站点29104:排除产品
正确DAX度量表达式
符合条件的总收入 = CALCULATE( SUM('你的数据表'[收入列]), -- 替换为实际表名和收入列名 '你的数据表'[运输类型] = "Incoming", '你的数据表'[状态] IN {"Invoiced", "Shipped", "Received"}, -- 站点与产品的排除逻辑 NOT ( ( '你的数据表'[站点] = 29104 && '你的数据表'[产品] IN {"S-ExtFreight", "S-ProductInDelivery", "S-WeighOnly"} ) || ( '你的数据表'[站点] = 33103 && '你的数据表'[产品] IN {"S-ExtFreight", "S-WeighOnly"} ) || ( '你的数据表'[站点] = 23103 && '你的数据表'[产品] IN {"S-ExtFreight", "SAxleWeigh"} ) ) )
无结果/可视化报错排查
- 列名表名不匹配:确保DAX里的表名、列名和数据模型完全一致(注意大小写、空格)
- 数据类型冲突:如果
站点列是文本类型,要给站点值加引号,比如"29104" - 上下文筛选冲突:检查图表的切片器、筛选器是否和度量逻辑冲突,确认时间范围内有符合条件的记录
- 收入列空值问题:如果收入列存在大量空值,可改用
SUMX处理:符合条件的总收入 = SUMX( FILTER( '你的数据表', '你的数据表'[运输类型] = "Incoming", '你的数据表'[状态] IN {"Invoiced", "Shipped", "Received"}, NOT ( ( '你的数据表'[站点] = 29104 && '你的数据表'[产品] IN {"S-ExtFreight", "S-ProductInDelivery", "S-WeighOnly"} ) || ( '你的数据表'[站点] = 33103 && '你的数据表'[产品] IN {"S-ExtFreight", "S-WeighOnly"} ) || ( '你的数据表'[站点] = 23103 && '你的数据表'[产品] IN {"S-ExtFreight", "SAxleWeigh"} ) ) ), '你的数据表'[收入列] ) - 排除逻辑写反:之前的表达式可能把
NOT放错位置,导致筛选逻辑完全反向,找不到符合条件的记录
内容的提问来源于stack exchange,提问作者Vicky
相关产品推荐
相关产品推荐

