Power BI跨设备打开文件报Google Ads键未匹配表中行错误求助
Power BI跨设备打开文件触发
Google Ads: The Key didn't match any rows in the table报错排查方案 高优先级排查(覆盖90%跨设备触发该问题的场景)
- 清理台式机本地Power BI全局权限缓存
操作路径:文件 > 选项和设置 > 数据源设置 > 全局权限,找到所有和Google Ads相关的历史授权条目,全部执行「清除权限」操作,之后重新打开目标pbix文件,按引导重新完成Google Ads账号授权,不要复用本机留存的旧授权缓存。该类问题核心诱因:pbix文件内存储的Google Ads数据源校验Key,会随你在笔记本端的编辑、授权刷新操作更新,但台式机本地留存的是旧版本文件对应的授权Key,两者校验不匹配就会触发报错。你从「最近使用的数据源」入口能正常浏览数据,是因为入口调用的是本地缓存的旧连接配置,和当前文件要求的校验Key不属于同一套配置,不代表文件内的数据源校验能通过。
- 逐步骤核查Google Ads查询的Power Query配置
操作路径:主页 > 转换数据进入Power Query编辑器,定位所有基于Google Ads数据源生成的查询,逐步骤排查:- 检查
Table.SelectColumns、Table.TransformColumnTypes、Table.Pivot、合并查询、自定义列这类硬编码引用列名的步骤,确认台式机端拉取到的Google Ads原始返回字段和笔记本端完全一致。Google Ads接口会根据账号当前开通的服务、接口缓存状态动态返回字段列表,如果笔记本端拉取到了灰度测试字段、台式机端接口缓存未返回对应字段,就会触发列键匹配失败,这类问题和文件本身、版本无关,只和当前设备调用接口拿到的返回结构有关。 - 检查所有引用列名的字符匹配度,确认不存在大小写差异、前后不可见空格差异,Power BI的M语言对字段名是严格字符匹配,Google Ads接口在不同网络环境下偶尔会返回带前后空格的同名字段,直接就会触发键不匹配报错。
- 检查
次优先级排查
- 修复文件传输带来的系统锁问题
不要直接从邮件附件预览窗口打开pbix文件:先把附件完整保存到台式机本地非临时目录(不要存到系统临时解压路径、下载文件夹的临时缓存目录),右键点击文件选择「属性」,勾选窗口最下方的「解除锁定」选项后确认,再重新打开文件。Windows系统会默认给邮件接收的外来文件加访问锁,会导致文件内嵌的部分数据源配置读取不全,抛出误导性报错。 - 对齐数据源隐私级别设置
操作路径:文件 > 选项和设置 > 数据源设置,找到文件内的Google Ads数据源条目,选择「编辑权限」,将隐私级别设置为和笔记本端完全一致(建议统一设置为「组织」)。隐私级别不匹配时,Power BI会拦截跨数据源的查询关联逻辑,偶尔会抛出键不匹配的误导性报错。
快速定位根因的验证方法
如果以上排查未解决问题,可在台式机端新建空白pbix文件,单独连接同一个Google Ads账号,拉取和原文件完全一致的维度、指标生成查询,将原文件中的SQL Server查询复制到新文件中,对比新旧两个文件中Google Ads查询的M代码差异,即可直接定位到不匹配的Key值位置。
内容的提问来源于stack exchange,提问作者Trevor Daniel
相关产品推荐
相关产品推荐

