Power BI创建含筛选的减法计算列报错,求正确DAX写法
Power BI计算列正确实现方案
问题分析
你原表达式报错的核心原因有两点:
- 计算列是逐行评估的,使用
CALCULATE+FILTER会强行修改上下文逻辑,不符合计算列的设计逻辑 - 字符串匹配大小写不一致:原数据中类别是
Not eligible(小写e),你写的是Not Eligible(大写E),会导致过滤规则失效
正确表达式
直接使用IF函数做逐行条件判断,这是计算列场景下最直接的实现方式:
New_column = IF( 'table_name'[classification] <> "Not eligible", 'table_name'[Retailer_yes_amount] - 'table_name'[classification_base_amount], BLANK() )
关键注意事项
- 替换
table_name为你实际使用的表名,确保列名、表名的拼写和大小写完全匹配 - 若需要对不符合条件的行返回其他值(而非空值),可以把
BLANK()替换为你需要的默认值(比如0) - 如果后续需要基于该列做汇总,空值会自动被忽略,符合过滤“Not eligible”类别的需求
内容的提问来源于stack exchange,提问作者Ishaq khan
相关产品推荐
相关产品推荐

