You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Power BI中IF/OR/AND逻辑错误:添加条件列后规则失效求助

问题排查与修复方案

核心问题

你的M代码存在两个关键问题导致规则失效:

  1. 逻辑运算符优先级错误:M语言中and的优先级高于or,当前第三步条件会被解析为 ([Code] = "4") or ([Code] = "5" and [Quantity] >0),这会让所有Code=4的行无论Quantity取值如何都被归为Step 3_A,直接打乱前两步的规则逻辑。
  2. 语法不完整:整个if语句缺少最后的else分支和闭合标记,语法错误会导致整个条件列规则无法正常执行。

修复后的M代码

= Table.AddColumn(#"Filtered Rows", "Category", each  
    if [#"Code"] = "1" or [#"Code"] = "2" then "Step 1"  
    else if [#"Code"] = "3" then "Step 2"  
    else if ([#"Code"] = "4" or [#"Code"] = "5") and [Quantity] > 0 then "Step 3_A"  
    else if ([#"Code"] = "4" or [#"Code"] = "5") and [Quantity] < 0 then "Step 3_B"
    else "Uncategorized" // 补充默认分支,避免出现空值
)

关键修改说明

  • 给Code=4或5的条件添加括号,确保先判断Code是否符合范围,再结合Quantity的条件进行逻辑与运算,保证第三步的规则逻辑正确。
  • 补充else默认分支和语句末尾的闭合标记,修复语法错误,确保整个条件列代码能正常运行。

内容的提问来源于stack exchange,提问作者Error 1004

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 11:42:05