Power BI Desktop出现Each original name must belong to the set of all names报错如何解决
报错触发原因
你遇到的Each original name must belong to the set of all names报错是2021年8月版(2.96.701.0)PowerBI Desktop的已知问题,触发原因集中在3点:
- 查询拆分后元数据不匹配:原事实表已经和维度表建立关联,PowerBI模型层会缓存所有列的内部溯源标识,你拆分查询并禁用前序查询加载后,事实表列的溯源信息指向了未加载的查询列,老版本无法自动识别这种合法的查询依赖,触发元数据校验报错
- 存储逻辑冲突:你未应用查询修改就提前存储pbix文件,导致模型层已缓存的表结构元数据和PowerQuery中修改后的查询输出结构元数据出现断层,无法对齐
- 清洗操作残留:逆透视、合并等操作产生的临时列内部名称未被清理,拆分查询后残留的临时列元数据和模型层已有标识冲突
解决方案
按优先级依次尝试即可:
方案1:元数据匹配修复(成功率最高)
- 打开PowerQuery编辑器,确认拆分后的3个查询,最终输出的事实表列名、列数据类型、列顺序和拆分前的原始事实表完全一致
- 切换到模型视图,删除原事实表和3个维度表的所有关联关系
- 回到PowerQuery编辑器,右键点击前两个禁用加载的查询,勾选「启用加载」,点击「关闭并应用」等待加载完成
- 加载完成后重新打开PowerQuery编辑器,再次取消前两个查询的「启用加载」勾选,点击「关闭并应用」
- 加载完成后重新在模型视图建立事实表和维度表的关联即可
方案2:本地缓存清理
如果方案1无效,清理本地残留缓存:
- 关闭所有打开的PowerBI Desktop窗口
- 打开缓存文件夹
C:\Users\<你的系统用户名>\AppData\Local\Microsoft\Power BI Desktop\Cache,清空文件夹内所有内容 - 重新打开pbix文件,执行「关闭并应用」操作即可
方案3:查询重建
如果以上方案都无效,直接规避老版本bug:
- 打开PowerQuery编辑器,复制拆分后的最终事实表的所有M代码
- 新建空白查询,粘贴复制的M代码,重命名为新的事实表名称
- 删除原事实表查询,前两个查询保持禁用加载状态不变
- 点击「关闭并应用」,加载完成后重新为新事实表建立维度关联即可
内容的提问来源于stack exchange,提问作者Peter
相关产品推荐
相关产品推荐

