Power Query中使用IF逻辑创建自定义列时报Token Eof expected错误
Power Query 自定义列
Token Eof expected报错解决 问题说明
- 操作需求:在Power Query中创建自定义列,判断规则为当
Sentiment列的字符串值为"Positive"时,列值返回1,其余情况返回0,预期效果如下:id Sentiment Positive Tag 1 Positive 1 2 Neutral 0 3 Negative 0 - 报错现象:编写判断代码时触发
Token Eof expected错误,最初尝试写入的代码为:Positive Tag = IF [Sentiment] = "Positive" then 1 else 0 - 两次尝试的报错截图:
报错原因与修正方案
- 第一个问题:混淆了自定义列编辑器的输入逻辑。打开新建自定义列弹窗时,顶部有单独的「新列名」输入框,列名是在这个位置填写的,下方的公式编辑区只需要填计算逻辑,不需要自己在公式里写「列名 = 表达式」的整段赋值结构。你把带列名的整段赋值语句粘到公式区,解析器在公式末尾已经识别到正常的语法结束位置,前面还遗留了一截多余的赋值开头,就会抛出“预期碰到语法结束标记却遇到其他内容”的报错。
- 第二个问题:Power Query的M语言是大小写严格敏感的,分支判断的关键字必须是小写的
if,写大写的IF会被识别成不存在的函数,也会触发解析错误。 - 正确操作步骤:
- 在弹窗顶部「新列名」输入框填入
Positive Tag - 在下方公式编辑区仅写入判断逻辑:
if [Sentiment] = "Positive" then 1 else 0 - 点击确定即可生成符合预期效果的列。
- 在弹窗顶部「新列名」输入框填入
内容的提问来源于stack exchange,提问作者G H
相关产品推荐
相关产品推荐



