常见报错提示解读

首先不得不承认的是,PQ虽然强大,但IDE却是一个非常大的槽点。没有智能感知,没有着色高亮,所以输入代码非常容易出错,但报错提示往往还让人看不懂,反正就是无法吐槽更多。
在此整理一些常见报错提示,以便对照查阅,持续更新~

先来几个大概能看懂的:
1、Expression.Error: 无法识别名称“XXXXXXXXXX”。请确保其拼写正确。

常见于大小写不匹配、函数名拼错、文本没加""、变量没有赋值,或是版本过低新增的函数无法识别等等。
 
2、DataFormat.Error: 无法转换为 XXXXXXXX。

常见于数据类型转换出错,最下面的详细信息即为出错的值。
解决方法:一般出错都在系统自动生成的"更改的类型这一步",找到更改类型的语句修改即可,比如上图的案例就可以把type number改为type text。

51 Replies to “常见报错提示解读”

  1. 补充
    3、应为令牌Comma。标点符号使用错误,核实语句之间是否缺少逗号,"()","[]","{}"是否是成对的?
    4、标识符无效。输入法使用错误,核实是否使用了中文输入法的(),换成英文输入法的()试试;

  2. 救命啊,請問一下,出現這樣的錯誤該怎麼辦?

    Expression.Error: 無法將值 "" 轉換成類型 Table。
    詳細資料:
    Value=
    Type=Type

    1. 值""这是文本text类型,你对文本使用了表函数,所以出错了。
      你的描述可以再具体些。

  3. 在从文件夹多表合并时,上载成功后,生成了一张合并后的工作表。
    之后对表做了一点小修改,再上载时后重复了,比如原来10行,现在变成20行,再上载会变成30行。
    什么原因?

      1. 一种可能应该是第一次合并之后,又对数据文件进行了开启自动筛选,新建table之类的操作,PQ会多读出几种不同的数据来源,需要更新PQ过程,把sheet之外的数据来源筛除,我被坑过

  4. 请问关闭并上载的时候显示“下载失败”,[DataFormat.Error] 无法转换为 Number,只下载了100多行,实际上应该有2万多的,这应该怎么处理?

    1. 原因是你该列中的数据类型不统一,比如一列中有1、2、3、4等数字,又有个a文本,因为数字占绝大多数,所以查询编辑器自动把这列的数据类型改为数字,但a不能变成数字,所以报错了。
      所以要么修改数据源,要么在查询编辑器里把自动转换数据类型的步骤删掉

        1. 如果真的像是施老师说的那种数据类型转换错误的话,那就删除那一个“更换的类型”的应用的步骤就行,或者更准确一点,打开那个“更换的类型”的公式栏,只删除可能有误的那一列的数据格式转换的公式

  5. Expression.Error: 有未知标识符。是否将 [field] 速记方式用于 "each" 表达式外部的 _[field]?
    请问这个是什么意思?它问我是否却没有“是”的按钮,是版本的问题吗?
    公式如下:
    = Table.ReplaceValue(替换的值1,"、√","、",Replacer.ReplaceText,List.FindText([自定义], "、√"))
    请问应该怎么改?

    1. List.FindText的第一参数是list,然而[自定义]相当于 _[自定义],而缺少上下文(例如在Table.AddColumns 中与each 搭配就没问题)无法识别,可以换成 替换的值1[自定义] 试试。

  6. = Table.SelectRows(#"展开的“上新成本表”", each ([商品状态] = "销售中"))

    Expression.Error: "offset" 参数超出范围。
    详细信息:
    -2
    简单的筛选 报错了!经测试 把“=”换成"" 正常 或者换成=“已下架” 也可以 (商品状态列下 只有两个不重复值 “销售总”,“已下架”)

  7. 在“XXXX”查询中出错。Expression.Error: 2 参数传递到了一个函数,该函数应为 1。
    详细信息:
    Pattern=
    Arguments=List

    错误提示如上,打开查询-编辑是,也有兼容性提示。
    说明,power query查询原来是在win7 excel2013/2010上制作的,现在改为win7 excel2016运行,报错!

    1. 部分函数的参数随着更新会有修改,比如某个函数在2013版本里有两个参数,后来微软觉得第二个参数太多余砍掉了,那就报错了

    2. POWER QUERY查询在WIN10+EXCEL2019上开发,在WIN7 EXCEL2016上运行,遇到的错误提示为:
      Expression.Error: 5 参数传递到了一个函数,该函数应介于2和4之间

      编辑错误语句:= Table.AddIndexColumn(重命名的列1, "索引", 1, 1, Int64.Type)

      修改为:= Table.AddIndexColumn(重命名的列1, "索引", 1, 1)

  8. 我也是,使用自定义列=Excel.workbook([content])报错无法转化为number,已经把大部分列转化为文本格式了,考虑是否为空值null影响

  9. 请教一下老师 导入数据时有以下提示
    Expression.Error: 找不到名为“Sheet1!_FilterDatabase”的 Excel 表。
    详细信息:
    Sheet1!_FilterDatabase

  10. 使用自定义列=Excel.workbook([content],true)报错
    DataFormat.Error: 文件包含损坏的数据。
    详细信息:
    [Binary]

  11. 我是在展开的合并查询里出现了“DataFormat.Error: 无法转换为 Number”错误,在上面导入查询时已经设置为type text了,但是到了展开查询这里它自动改成了number,根本没有任何地方能阻止它的这个自动变换。。。。。
    无语了。。。。

  12. 老师我按你的动态路径的公式提示:Expression.Error:枚举中没有足够的元素来完成该操作。
    详细信息:
    [List]

  13. 请问如下的报错是什么原因呀?
    Expression.Error: 无法对类型 List 应用字段访问。
    详细信息:
    Value=[List]
    Key=Column1

  14. 合并多个文件时候,出现Expression.Error: 列参数必须为 Null,或者指定列数、列名的列表或表类型。
    详细信息:
    List

    是什么错误

  15. 想知道为什么新建自定义列,输入Excel.Workbook([Content,],true),之后,再去展开这列table,总是会报错是咋回事

  16. 在“Table 0 (2)”查询中出错。Expression.Error: 找不到表的“商品名称”列。
    详细信息:
    商品名称

    我是按照网上的教程操作,第一步很顺利的把第一页数据导入Excel,接着按教程在其基础上将页数"1"修改为To Text(x),语法也都说正确最后就返回这个信息了,其它列同样找不到。

  17. 你好,一直显示如下信息怎么回事,找了半天没找到出错的地方,前面列的type都是对的,也显示绿色-binary转换成功,求大神解答啊!!!!

    Expression.Error: 无法将类型 Table 的值转换为类型 Binary。
    详细信息:
    Value=[Table]
    Type=[Type]

  18. 我的之前能正常打开使用,但是最近不知怎么的打不开了power query 报错:
    Error Message:
    Container unexpectedly exited. Exit code: 0xC0000005. PID: 26436
    不知有没大神见过?

  19. 文件夹内的表格表头均有空行,做合并查询时,使用Excel.Workbook函数展开这里就报错,需要把文件夹里的表头前空行删除都可以,这样就需要对一个个表进行编辑删除,大佬们怎么解决啊

  20. Expression.Error: 数量超出 64 位整数范围,这个该怎么解决。做合并查询时匹配列用了整数数据(串码改为整数),我在pq里改为文本还是报错,请问该怎么解决

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注