很多朋友在使用Power Query的过程中,经常会碰到一些感觉看不懂的错误提示,现总结9种常见的情况收藏如下,也方便大家碰到问题时可以搜寻得到:
1、找不到名为“示例操作数据源!_FilterDatabase”的Excel表
原因:Power Query查询步骤引用的表被删除,或表名被变更。同时,这里有一种比较隐秘的情况,即Excel表在进行数据筛选的时候,会生成一个临时的“筛选表”,而如果后续的处理步骤中却不小心引用了,就比较可能出错。
解决办法:可以将这个表通过【插入】-【表格】的方式先变成“超级表”
2、Forrmula Firewall:查询……将引用其他查询或步骤,因此可能不会直接访问数据源
解决办法:设置隐私级别
3、提升标题后出现数据转换错误
这一般都是数据类型转换错误,当出现的错误不多是,可以直接点击链接生成错误明细表,进入Power Query查看每一出错行的具体情况然后做相应处理。
4、内存不足?!
解决办法:这一般是由于安装的是32位版本的Excel或Power BI引起的,而32位版本的软件,只能使用3G以内的内存,所以,墙裂建议安装64位产品。
5、步骤代码错误:Expression SyntaxError:或为令牌Identifier
解决的办法:根据提示的位置,找到相应的语法出错点,然后进行修正,比较常见的低级语法错误包括:错误的位置使用了括号、使用了中文括号或逗号等等。
6、函数参数错误:Expression Error,#2 参数传递到了一个函数,该函数应为#1
原因:函数参数个数多了或少了。
解决办法:仔细查看函数后面的括号里的参数个数并进行调整,对函数参数的情况不熟悉时,可以通过查找帮助查看函数的参数和应用示例。
7、找不到记录的字段“……”
这种情况通常是表的列名变了,或者在数据处理过程中,前面的步骤删除了后面步骤所需要用到的列或修改了相关列的列名。
解决办法也很简单,在出错之前的步骤中找看看具体是什么操作导致的原有列被删或列名被改,然后根据实际情况在前面的步骤中加回来,或者在出错的步骤里,改成新的列名。
8、枚举中没有足够的元素来完成该操作
原因:要从表或列表里提取的行或项不存在。比如,经过筛选后的表或列表为空,这个时候要通过标号进行数据提取时,将出错。
解决办法:
1)提前识别最大标号,避免使用标号超出总项数。
2)用Table.First或List.First等函数代替标号方式取值。
9、该键与表中的任何行均不匹配/多行匹配
原因:采用列值(获取行标号)引用表行时,该列值在列的内容中并不存在,或找到多个值。
解决办法:使用Table.SelectRows等函数代替列值引用法
Power Query中的错误提示其实非常多,而且同样一个错误,往往可能在不同的场景下出现,还有一些错误是某些版本的bug或特定电脑环境下出现的问题,随着版本的更新可能就过时了,甚至有时候,对于有经验的用户,这些总结并不需要,而对于没经验的用户,总结了也记不住。
不过,对于初学者来说,多看一下别人踩过的坑,犯过的错,兴许总能留下点儿印象,这样,在后续的不断学习中,就更能做到遇错不慌,泰然处之。
当然,如果遇到错误自己实在找不到原因所在,欢迎来星球直接提问,希望多年的经验能更高效地帮你定位到错误,少走弯路。
本文分享自 Excel到PowerBI 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!