Power BI出现Cyclic Reference计算错误是否与关联表有关?
Power Query循环引用错误排查解答
你使用的自定义列公式如下:
= Table.AddColumn(#"Changed Type", "test_column", each test_column(Query1[OrderID], Query1[#"Action Type"], Query1[Without_WWO_Assign], Query1[Without_WWO_Shipped], Query1[Assign], Query1[Shipped], [Index]))
关联表确实会触发Expression.Error: A cyclic reference was encountered during evaluation类错误,核心原因和排查方案如下:
触发原因
- 若报错文件中Query1与其他关联表存在双向依赖关系:比如关联表的计算逻辑依赖你当前操作的查询的输出结果,而你当前新增的
test_column又通过整列引用Query1[字段名]的方式触发了Query1的全量求值,Query1求值又需要先完成关联表的加载,就形成了循环调用链路。 - 若关联表开启了字段自动同步逻辑,你传入
test_column函数的字段恰好是关联表同步更新的字段,Power Query求值时会先尝试刷新关联表的对应字段,而关联表刷新又需要当前查询完成计算,同样会触发循环。
排查方案
- 临时关闭所有关联表的加载权限,单独运行当前查询的公式,若不再报错即可确定是关联表引用导致的问题。
- 调整
test_column的调用逻辑,不要直接传入整列数据,改为仅传入当前行的对应值,避免整列求值时触发关联表的全量依赖加载。 - 检查查询依赖链,调整关联表与当前查询的加载顺序,解除双向依赖即可解决报错。
内容的提问来源于stack exchange,提问作者Mateusz P
相关产品推荐
相关产品推荐

