Power Query调用自定义函数出现循环引用报错无法新增步骤如何解决?
错误原因
A cyclic reference was encountered during evaluation 是Power Query的循环引用报错,触发原因如下:
- 函数调用环节形成了首尾相连的依赖链:调用自定义函数时,传入的
OrderID参数引用了该函数输出结果所在的列,导致计算该列时需要先获取该列本身的计算结果,进入死循环。 - 多步骤操作中,调用函数的步骤错误引用了自身或者下游步骤的输出表格作为参数来源,而非未包含函数计算结果的上游原始表格。
你提供的自定义函数本身逻辑无异常,代码如下:
let Source = (OrderID as list )=> OrderID{1} in Source
修复方案
- 检查调用该函数的自定义列公式,确认传入的
OrderID参数为原始数据中存储列表的源列,而非当前正在创建的新列,修正参数引用即可消除循环。 - 打开Power Query高级编辑器,核对调用函数的步骤所依赖的前序步骤:确保仅引用未添加函数计算列的上游步骤,不要引用当前步骤或后续步骤的输出。
- 若仅需批量提取列表的第二个元素,可直接使用内置公式
=[对应列表列名]{1}添加自定义列,无需额外封装自定义函数,减少不必要的依赖链路。
内容的提问来源于stack exchange,提问作者Mateusz P
相关产品推荐
相关产品推荐

