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

Power Query中使用IF逻辑创建自定义列时报Token Eof expected错误

Power Query 自定义列Token Eof expected报错解决

问题说明

  • 操作需求:在Power Query中创建自定义列,判断规则为当Sentiment列的字符串值为"Positive"时,列值返回1,其余情况返回0,预期效果如下:
    idSentimentPositive Tag
    1Positive1
    2Neutral0
    3Negative0
  • 报错现象:编写判断代码时触发Token Eof expected错误,最初尝试写入的代码为:
    Positive Tag = IF [Sentiment] = "Positive" then 1 else 0
    
  • 两次尝试的报错截图:
    • 尝试1
    • 尝试2

报错原因与修正方案

  • 第一个问题:混淆了自定义列编辑器的输入逻辑。打开新建自定义列弹窗时,顶部有单独的「新列名」输入框,列名是在这个位置填写的,下方的公式编辑区只需要填计算逻辑,不需要自己在公式里写「列名 = 表达式」的整段赋值结构。你把带列名的整段赋值语句粘到公式区,解析器在公式末尾已经识别到正常的语法结束位置,前面还遗留了一截多余的赋值开头,就会抛出“预期碰到语法结束标记却遇到其他内容”的报错。
  • 第二个问题:Power Query的M语言是大小写严格敏感的,分支判断的关键字必须是小写的if,写大写的IF会被识别成不存在的函数,也会触发解析错误。
  • 正确操作步骤:
    1. 在弹窗顶部「新列名」输入框填入Positive Tag
    2. 在下方公式编辑区仅写入判断逻辑:
      if [Sentiment] = "Positive" then 1 else 0
      
    3. 点击确定即可生成符合预期效果的列。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.26 12:45:04