添加let语句至高级编辑器时遇EOF expected错误求助
Power Query 中 EOF expected 错误的解决方法
错误原因
你把两个独立的let-in块直接拼接,不符合Power Query的语法规则。第一个in已经结束了第一个表达式的解析,后面的'second let'和第二个let-in属于无归属的代码,解析器预期文件结束(EOF)却还读到内容,所以抛出错误。
修正方案
Power Query的let-in是单层级结构,所有步骤、函数定义都要放在同一个let块内,用逗号分隔每个项,最后通过in输出最终结果。以下是适配你“按分钟取整时间列”需求的正确写法:
let // 原有代码部分 原有步骤 = 'some code here', #"Duplicatas Removidas1" = 原有步骤, // 定义时间取整函数 fun_RoundTime = (inputTime as datetime) as datetime => let // 示例:按5分钟取整,可根据需求调整逻辑 当前分钟 = DateTime.Minute(inputTime), 取整后分钟 = Number.Round(当前分钟 / 5) * 5, 取整时间 = DateTime.Replace(inputTime, Minute=取整后分钟) in 取整时间, // 用函数处理目标时间列 处理后的表 = Table.TransformColumns(#"Duplicatas Removidas1", {{"你的时间列名", fun_RoundTime}}) in 处理后的表
关键说明
- 自定义函数、数据处理步骤必须放在同一个
let块里,步骤间用逗号分隔 - 函数内部可以嵌套
let-in,但外部必须是一个完整的let-in结构 - 如果需要单独复用函数,可将函数保存为独立查询,再在主查询中调用
内容的提问来源于stack exchange,提问作者Vinicius Leite
相关产品推荐
相关产品推荐

