You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerBI加载/刷新NAV2017自定义报表提示字典中不存在给定键报错

问题描述

我在尝试加载/刷新报表时遇到该问题,点击继续后加载向导进入无限运行状态。
问题截图
我使用的数据集来自NAV2017,测试其他NAV数据集均可正常运行,但使用这份自定义报表时就会触发该问题。我的PowerBI Desktop已更新至最新版本,查阅相关论坛仍未解决,尝试调整表间关系时需要先刷新报表,又会触发相同问题,请问有没有人知道该如何处理?

点击详情后显示如下信息:
如需调用实时(JIT)调试而非此对话框,请查看本消息末尾的详细说明。

************** 异常文本 **************
System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary. at System.ThrowHelper.ThrowKeyNotFoundException() at System.Collections.Generic.Dictionary2.get_Item(TKey key) at Microsoft.PowerBI.Client.Windows.Modeling.LoadToReportProgress.UpdateProgressFromQueryEvaluator(LoadToModelQueryEvaluatingProgress progress) at System.Progress1.InvokeHandlers(Object state)

************** 已加载程序集 **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.8.4360.0 built by: NET48REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll

PBIDesktop
Assembly Version: 1.0.0.0
Win32 Version: 2.93.981.0
CodeBase: file:///C:/Program%20Files/WindowsApps/Microsoft.MicrosoftPowerBIDesktop_2.93.981.0_x64__8wekyb3d8bbwe/bin/pbidesktop.exe

......(其余程序集日志省略)

JIT调试

如需启用实时(JIT)调试,需在应用程序或计算机的.config配置文件(machine.config)的system.windows.forms节点中设置jitDebugging值,同时应用程序必须启用调试编译。启用JIT调试后,所有未处理的异常都会发送到计算机上注册的JIT调试器,而非由此对话框处理。


解决方案

该System.Collections.Generic.KeyNotFoundException报错的根源是PowerBI加载这份NAV2017自定义报表数据集时,在内部元数据字典中找不到对应的预期键值,属于该自定义报表的字段/结构和PowerBI预期格式不匹配导致的特有问题,其他正常NAV数据集无报错也可以验证这一点。可按以下步骤排查解决:

  • 跳过自动加载进报表环节,先进入Power Query编辑器验证数据
    连接NAV数据源时选择「转换数据」而非「加载」,直接进入Power Query界面,避开加载向导自动触发的报表建模流程,先单独运行查询确认数据源侧可以正常返回数据。
  • 检查自定义报表的字段异常
    核对NAV侧自定义报表的字段结构,重点排查是否存在以下问题:
    • 字段名带特殊字符、空格开头/结尾、重复命名
    • 存在NAV特有的系统隐藏字段被默认加载
    • 自定义查询存在返回空列的情况
      找到异常字段后在Power Query中重命名或者删除对应列,先确认单查询可以正常刷新。
  • 清除PowerBI本地缓存后重试
    操作路径:文件>选项和设置>选项>数据加载>清除缓存,操作完成后重启PowerBI Desktop再重新加载数据。
  • 逐表加载定位问题
    不要一次性加载自定义报表关联的所有表,先加载单表验证正常后再逐个添加关联表,定位到具体触发报错的表后,调整NAV侧该报表的查询逻辑或者在Power Query中删减冗余字段。
  • 绕过关系检测的临时方案
    如果需要先调整表间关系,可以在加载时取消勾选「自动检测新关系」,手动导入单表后再手动创建关系,避开自动检测环节触发的元数据查找报错。

内容的提问来源于stack exchange,提问作者Abdullah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.14 08:45:07