当您最终设置数据源并按照您想要的方式塑造数据时,感觉确实很棒。 希望从外部数据源刷新数据时,操作会顺利进行。 但情况并非总是如此。 在此过程中对数据流的更改可能会导致问题,当您尝试刷新数据时,这些问题最终会变成错误。 有些错误可能很容易修复,有些可能是暂时性的,有些可能难以诊断。 以下是您可以采取的一组策略来处理遇到的错误。
两种类型的错误
刷新数据时可能会发生两种类型的错误。
本地 如果 Excel 工作簿中出现错误,那么至少您的疑难解答工作受到限制且更易于管理。 刷新的数据可能导致函数错误,或者数据在下拉列表中创建了无效条件。 这些错误很烦人,但相当容易跟踪、识别和修复。 Excel 还改进了错误处理,使消息更清晰,以及指向目标帮助主题的上下文相关链接,帮助你查明和修复问题。
远程 但是,来自远程外部数据源的错误则完全是另一回事。 某个系统可能在街对面、地球的另一端或云中发生了问题。 这些类型的错误需要采用不同的方法。 常见的远程错误包括:
- 无法连接到服务或资源。 检查连接情况。
- 找不到您尝试访问的文件。
- 服务器没有响应,并且可能正在维护。
- 此内容不可用。 它可能已被删除或暂时不可用。
- 请稍候...正在加载数据。
调查错误
以下是一些建议,可帮助您处理可能遇到的错误。
查找并保存特定错误 首先检查“ 查询 & 连接 ”窗格, (选择 “数据>查询”&“连接”,选择连接,然后显示浮出控件) 。 查看发生了哪些数据访问错误,并记下提供的任何其他详细信息。 接下来,打开查询以查看每个查询步骤的任何特定错误。 所有错误都以黄色背景显示,以便于识别。 记下或屏幕捕获错误消息信息,即使不完全理解它。 你组织中的同事、管理员或支持服务人员也许能够帮助你了解发生的事情并提出解决方案。 有关详细信息,请参阅处理 Power Query 中的错误。
获取帮助信息 搜索 Office 帮助和培训 网站。 这不仅包含大量帮助内容,还包含故障排除信息。 有关详细信息,请参阅 Excel for Windows 中最新问题的修补程序或解决方法。
利用技术社区 使用 Microsoft 社区网站搜索与您的问题相关的讨论。 您很可能不是第一个遇到这个问题的人,其他人正在处理它,甚至可能已经找到了解决方案。 有关详细信息,请参阅 Microsoft Excel 社区 和 Office Answers 社区。
搜索 Web 使用您首选的搜索引擎在网络上寻找可能提供相关讨论或线索的其他网站。 这可能非常耗时,但这是一种撒下更广泛网络以寻找特别棘手问题答案的方法。
联系 Office 支持部门 此时,你可能更了解这个问题。 这可以帮助你集中对话并最大程度地减少使用 Microsoft 支持部门所花费的时间。 有关详细信息,请参阅 Microsoft 365 和 Office 客户支持。
了解数据源错误
虽然你可能无法解决问题,但你可以准确地找出问题所在,帮助别人了解情况并为你解决。
服务和服务器问题 间歇性网络和通信错误可能是一个罪魁祸首。 您能做的最好的事情就是等待,然后重试。 有时,问题会消失。
位置或可用性变更 数据库或文件已移动、损坏、脱机进行维护或数据库崩溃。 磁盘设备可能会损坏,文件可能会丢失。 有关详细信息,请参阅在 Windows 10 上恢复丢失的文件。
身份验证和隐私的更改 可能会突然发生权限不再有效或对隐私设置进行更改的情况。 这两个事件都会阻止对外部数据源的访问。 请与管理员或外部数据源的管理员联系,了解发生了哪些更改。 有关详细信息,请参阅管理数据源设置和权限和设置隐私级别。
打开或锁定的文件 如果文本、CSV 或工作簿处于打开状态,则在保存该文件之前,对该文件的任何更改都不会包含在刷新中。 此外,如果文件处于打开状态,则它可能被锁定,并且在关闭之前无法访问。 当其他人使用非订阅版本的 Excel 时,可能会发生这种情况。 要求他们关闭文件或检查文件。 有关详细信息,请参阅解锁已 锁定进行编辑的文件。
后端架构更改 有人更改表名、列名或数据类型。 这几乎从来都不是明智的,可以产生巨大的影响,对于数据库来说尤其危险。 人们希望数据库管理团队已经采取适当的控制措施来防止这种情况发生,但失误确实会发生。
阻止查询折叠错误 Power Query 尽可能提高性能。 通常最好在服务器上运行数据库查询,以利用更高的性能和容量。 此过程称为查询折叠。 但是,如果数据有可能受到威胁,Power Query 会阻止查询。 例如,在工作簿表和 SQL Server 表之间定义合并。 工作簿数据隐私设置为“隐私”,但 SQL Server 数据设置为“组织”。 由于隐私比组织隐私更具限制性,因此 Power Query 会阻止数据源之间的信息交换。 查询折叠发生在后台,因此当发生阻塞错误时,您可能会感到惊讶。 有关详细信息,请参阅 查询折叠基础知识、 查询折叠和 使用查询诊断进行折叠。
了解 Power Query 错误
通常使用 Power Query,您可以准确找出问题所在并自行解决。
重命名的表和列 更改原始表和列名或列标题几乎肯定会在刷新数据时导致问题。 查询几乎在每个步骤中都依赖于表和列的名称来调整数据。 避免更改或删除原始表和列的名称,除非您的目的是使它们与数据源匹配。
数据类型更改 数据类型更改有时会导致错误或意外结果,尤其是在可能需要参数中特定数据类型的函数中。 示例包括,替换数字函数中的文本数据类型或尝试对非数值数据类型执行计算。 有关详细信息,请参阅 添加或更改数据类型。
单元格级错误 这些类型的错误不会阻止加载查询,但会在单元格中显示 错误 。 若要查看此消息,请在包含 “错误”的表格单元格中选择空格。 可以删除、替换或仅保留错误。 单元格错误的示例包括:
- 转换 尝试将包含 NA 的单元格转换为整数。
- 数学 尝试将文本值乘以数值。
- 连接运算符 你尝试组合字符串,但其中一个字符串是数字。
安全地试验和迭代如果不确定转换是否会产生负面影响,请复制查询,测试更改,并循环访问 Power Query 命令的变体。 如果该命令不起作用,只需删除您创建的步骤,然后重试。 要快速创建具有相同架构和结构的示例数据,请创建一个包含多个列和行的 Excel 表格,然后将其导入 (“从表/区域) 中选择数据>”。 有关详细信息,请参阅 创建表 和 从 Excel 表导入。
明智地转型
当你第一次了解 Power Query 编辑器中可以处理数据时,你可能会感觉自己像个糖果店里的孩子。 但要抵制吃掉所有糖果的诱惑。 您想要避免进行可能无意中导致刷新错误的转换。 某些操作非常简单,例如将列移动到表中的其他位置,并且不应导致刷新错误,因为 Power Query 按列名跟踪列。
其他操作可能会导致刷新错误。 一条一般经验法则可以成为你的指路明灯。 避免对原始列进行重大更改。 为安全起见,请使用“ 添加列”、“ 自定义列”、“ 重复列”等命令复制原始列 () ,然后对原始列的复制版本进行更改。 以下是有时可能导致刷新错误的操作以及一些帮助事情更顺利进行的最佳实践。
| 运算 | 指南 |
|---|---|
| 筛选 | 通过在查询中尽早筛选数据来提高效率,并删除不需要的数据以减少不必要的处理。 此外,使用 “自动筛选 ”搜索或选择特定值,并利用“日期”、“日期时间”和“日期时区”列 (如 月、 周、 日) 中提供的类型特定筛选器。 |
| 数据类型和列标题 | Power Query 会在第一个“源”步骤之后立即自动将两个步骤添加到查询中:提升的标题,将表的第一行提升为列标题,以及更改的类型,根据对每列中值的检查将任何数据类型的值转换为数据类型。 这是一个非常有用的便利,但有时您可能希望显式控制此行为以防止意外刷新错误。 有关详细信息,请参阅 添加或更改数据类型 和 提升或降级行和列标题。 |
| 重命名 列 | 避免重命名原始列。 对由其他命令或操作添加的列使用“ 重命名 ”命令。 有关详细信息,请参阅 重命名列。 |
| 拆分列 | 拆分原始列的副本,而不是原始列。 有关详细信息,请参阅 拆分文本列。 |
| 合并列 | 合并原始列的副本,而不是原始列。 有关详细信息,请参阅合并列。 |
| 删除 列 | 如果要保留的列数很少,请使用 “选择列” 保留所需的列。 考虑删除列和删除其他列之间的区别。 选择删除其他列并刷新数据时,自上次刷新以来添加到数据源的新列可能仍未被检测到,因为在查询中再次执行“删除列”步骤时,它们将被视为其他列。 如果显式删除列,则不会发生这种情况。 提示 不存在像 Excel) 中那样隐藏列 (的命令。 但是,如果有很多列,并且希望隐藏其中许多列以帮助集中精力工作,则可以执行以下操作:删除列,记住创建的步骤,然后删除该步骤,然后再将查询加载回工作表。 有关详细信息,请参阅 删除列。 |
| 替换 值 | 替换值时,不是在编辑数据源。 相反,你正在对查询中的值进行更改。 下次刷新数据时,搜索的值可能已稍微更改,或不再存在,因此 Replace 命令可能无法按最初预期工作。 有关详细信息,请参阅 替换值。 |
| 透视 和 逆透视 | 使用 透视列 命令时,透视列时可能会出现错误,不聚合值,但返回的值不止一个。 在以意外方式更改数据的刷新操作之后,可能会出现这种情况。 当并非所有列都已知,并且希望刷新操作期间添加的新列也被取消透视时,请使用“ 逆透视其他列” 命令。 如果不知道数据源中的列数,并且希望确保所选列在刷新操作后保持未透视状态,请使用“ 仅逆透视仅选定列”命令。 有关详细信息,请参阅 透视列 和 取消透视列。 |
走在曲线前沿
防止错误发生 如果外部数据源由组织中的另一个组管理,则他们需要了解您对它们的依赖关系,并避免对其系统进行可能导致下游问题的更改。 记录对依赖于数据的数据、报表、图表和其他工件的影响。 建立沟通渠道以确保他们了解影响并采取必要措施保持事情顺利进行。 找到创建控件的方法,以最大限度地减少不必要的更改并预测必要更改的后果。 诚然,这说起来容易,有时也很难做到。
使用查询参数面向未来使用查询参数来缓解对(例如数据位置)的更改。 可设计查询参数来替代新位置,如文件夹路径、文件名或 URL。 还有其他方法可以使用查询参数来缓解问题。 有关详细信息,请参阅 创建参数查询。