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

PowerQuery使用Text.Contains写嵌套IF报Token Eof Expected错误如何解决

报错原因

Power Query 嵌套 IF 语法要求每个 else 分支后如果要承接新的判断逻辑,必须跟上完整的 if 条件 then 结果 结构,你的原始代码漏写了第二个判断前的 if 关键字,因此触发语法错误。

最简洁的修复写法

直接补全第二个判断的 if 即可,无需拆分多步计算:

if Text.Contains([Status], "A") then "A"
else if Text.Contains([Status], "B") then "B"
else "C"

扩展性更强的写法

如果后续需要新增更多匹配规则,不需要层层叠加嵌套 IF,可以用列表匹配的方式,后续新增规则仅需要修改MatchList列表即可:

let
    // 按优先级排列需要匹配的关键词,越靠前优先级越高
    MatchList = {"A", "B"},
    // 提取第一个匹配到的关键词
    MatchResult = List.First(List.Select(MatchList, (keyword) => Text.Contains([Status], keyword))),
    // 无匹配时返回默认值C
    Output = if MatchResult <> null then MatchResult else "C"
in
    Output

可选优化

如果匹配不需要区分大小写,可以在Text.Contains函数中增加第三个参数忽略大小写:
Text.Contains([Status], "A", Comparer.OrdinalIgnoreCase)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 00:45:04