本文介绍在 Power BI 服务中刷新数据时可能遇到的不同场景。
注意
如果遇到本文中未列出的问题或情况,可以在社区网站上请求进一步帮助,也可以创建支持票证。
应始终确保满足和验证刷新的基本要求:
- 验证网关版本是否为最新。
- 验证报表是否选择了网关。 如果未选择网关,则数据源可能已更改或丢失。
确认满足这些要求后,请参阅以下各部分了解更多故障排除信息。
电子邮件通知
如果通过电子邮件通知转到本文,并且不再希望收到有关刷新问题的电子邮件,请与 Power BI 管理员联系。要求他们从 Power BI 中的相应语义模型中删除你的订阅电子邮件或电子邮件列表。 管理员使用语义模型设置中的以下区域。
使用 Web 连接器进行刷新的操作未能正常运行
如果有正在使用 Web.Page 函数的 Web 连接器脚本,且在 2016 年 11 月 18 日后更新过语义模型或报表,则必须使用网关才能让刷新正常工作。
刷新不支持的数据源
在配置语义模型时,可能会收到一个错误,指示此语义模型使用了刷新不支持的数据源。 有关详细信息,请参阅不支持刷新的数据源故障排除。
仪表板在刷新完成后不反映所做的更改
等待 10 - 15 分钟,刷新将反映在仪表板磁贴中。 如果仍未显示,请将可视化效果重新固定在仪表板上。
设置凭据时出现 GatewayNotReachable
尝试为数据源设置凭据时,可能会遇到错误 GatewayNotReachable
,这可能是网关过时的结果。
安装最新网关,然后重试。
处理错误:出现以下系统错误:类型不匹配
此错误可能是由于 Power BI Desktop 文件或 Excel 工作簿中的 M 脚本出现问题。 也可能是由于 Power BI Desktop 版本已过时。
磁贴刷新错误
有关使用仪表板磁贴遇到的错误列表和说明,请参阅磁贴错误故障排除。
从使用 Microsoft Entra ID OAuth 的源更新数据时,刷新失败
许多不同数据源使用的 Microsoft Entra ID OAuth 令牌在大约一小时内过期。 有时,该令牌在数据完成加载之前过期,因为 Power BI 服务在加载数据时等待最多两个小时。 在这种情况下,数据加载过程可能失败,并显示凭据错误。
使用 Microsoft Entra ID OAuth 的数据源包括 Microsoft Dynamics CRM Online、SharePoint Online (SPO) 等。 如果您连接到此类数据源,并且在数据加载需要超过一小时时出现凭据失败,那么 OAuth 可能是原因。
Microsoft 正在研究一个解决方案,允许数据加载过程刷新令牌并继续。 但如果 Dynamics CRM Online 或 SPO 实例太大,以至于其运行超过两小时数据加载阈值,则 Power BI 服务可能会报告数据加载超时。此数据加载超时也适用于其他 Microsoft Entra ID OAuth 数据源。
为确保刷新在使用 Microsoft Entail ID OAuth 连接到 SPO 数据源时能够正常工作,请务必使用与用于登录 Power BI 服务相同的帐户。
如果要使用 OAuth2 从 Power BI 服务连接到数据源,该数据源必须与 Power BI 服务位于同一租户中。 目前,OAuth2 不支持多租户连接方案。
未经压缩数据的刷新限制
导入到 Power BI 服务的语义模型的最大大小为 1 GB。 为确保实现高性能,对这些语义模型进行了深度压缩。 此外,该服务在共享容量中对在刷新过程中处理的未经压缩的数据设置了 10 GB 的数据量限制。 此限制将压缩考虑在内,因此远大于最大的 1 GB 语义模型大小。 Power BI Premium 中的语义模型不受这些限制的制约。 如果 Power BI 服务中的刷新由于此原因失败,减少要导入到 Power BI 的数据量,然后重试。
计划刷新超时
导入的语义模型的计划刷新在两个小时后超时。 对于高级工作区中的语义模型,此超时增加到五个小时。 如果遇到此限制,请考虑减小语义模型大小或降低数据集复杂性,或者考虑将语义模型重构为多个更小的语义模型。
已禁用计划刷新
如果计划刷新连续四次失败,Power BI 会禁用刷新。 解决潜在问题,然后重新启用计划刷新。
但是,如果语义模型驻留在嵌入容量下的工作区中,并且该容量已关闭,则 刷新时的第一次 尝试会失败(因为容量已关闭),在这种情况下,其计划刷新将立即禁用。
禁止访问该资源
缓存凭据过期可能导致发生此错误。 清除 Internet 浏览器缓存,然后登录到 Power BI 并转到 https://app.powerbi.com?alwaysPromptForContentProviderCreds=true
以强制更新凭据。
密码更改或凭据过期会导致数据刷新失败
数据刷新也可能因缓存凭据过期而失败。 清除 Internet 浏览器缓存,然后登录到 Power BI 并转到 https://app.powerbi.com?alwaysPromptForContentProviderCreds=true
,这将强制更新凭据。
刷新包含 TRUE 或 FALSE 的 ANY 类型的列会产生意外值
当你在 Power BI Desktop 中创建包含 ANY 数据类型列(该列包含 TRUE 或 FALSE 值)的报表时,刷新后该列的值在 Power BI Desktop 和 Power BI 服务之间可能会有所不同。 在 Power BI Desktop 中,基础引擎将布尔值转换为字符串,并保留 TRUE 或 FALSE 值。 在 Power BI 服务中,基础引擎将值转换为对象,然后将值转换为 -1 或 0。
在 Power BI Desktop 中使用此类列创建的视觉对象,可能在刷新事件之前按照设计正常显示或行为,但在刷新事件后可能会更改(因为 TRUE/FALSE 会转换为 -1/0)。
解决错误:容器意外退出,代码为 0x0000DEAD
如果出现“容器意外退出,错误代码为 0x0000DEAD”,请尝试禁用计划刷新并重新发布语义模型。
Power BI Premium 的刷新操作限制
当同时处理太多语义模型时,高级容量可能会限制数据刷新操作。 Power BI Premium 容量中可能会发生限制。 请考虑以下最佳做法,以减少刷新限制的可能性:
- 在非高峰时段刷新。 在非工作时间或其他非高峰时段执行刷新作有助于确保容量的总体使用率相对较低。 使用 计划视图 确定计划的刷新事件是否已正确放置。
- 启用 语义模型横向扩展。语义模型横向扩展可以通过添加只读副本进行刷新隔离来提供帮助。 读取/写入副本在刷新期间执行语义模型,而交互式查询在只读副本上执行。
- 降低模型复杂性。 简化模型(尤其是如果它涉及计算成本高昂的计算表和列)有助于降低刷新负担,并避免刷新期间的内存瓶颈。 如果可能,请将计算表和列移动到数据源或 ETL 进程。
- 对大型语义模型使用 增量刷新 。 通过自动对大型表进行分区,增量刷新有助于减少需要刷新的数据量。 通过仅刷新最近的导入分区,可以显著减少刷新持续时间,从而在给定的时间跨度中腾出更多刷新空间。
- 为自定义刷新添加自动重试。 如果使用 XMLA 或 Power BI REST API 刷新语义模型,请确保按数据集中所述添加重试逻辑 - 刷新数据集。 使用回退模式重试有助于确保语义模型成功刷新。 或者,请考虑在 Power BI 中使用内置计划工具,因为 Power BI 会在计划和按需刷新被限制时执行重试。
如果由于限流而取消刷新操作,以下错误消息会被记录在刷新历史记录中:
你已超出语义模型刷新的容量限制。 请在处理较少的语义模型时重试。
如果错误频繁发生,请使用计划视图来确定计划的刷新事件是否具有适当间隔。 要了解每个 SKU 允许的最大并发刷新数,请查看容量和 SKU 表。
要解决此错误,可以修改刷新计划,以便在处理的语义模型较少时执行刷新操作。 还可以在受影响的高级容量上增加刷新计划中所有语义模型的刷新操作间隔时间。 如果使用的是自定义 XMLA 操作,可以重试该操作。
超出容量级别限制。
此错误表示你同时运行刷新的语义模型过多,具体取决于组织购买的容量。 可以重试刷新操作,或重新计划刷新时间来解决此错误。
超出节点级别限制。
此错误指明,根据驻留在给定物理节点上的语义模型,Power BI Premium 存在系统错误。 可以重试刷新操作,或重新计划刷新时间来解决此错误。
Premium 工作区中的数据流或数据市场故障
有些连接器不可用于 Premium 工作区中的数据流和数据市场。 使用不受支持的连接器时,可能会收到以下错误:Expression.Error: 导入 "<"连接器名称">" 不与任何导出匹配。 是不是漏掉了一个模块引用?
以下连接器不可用于 Premium 工作区中的数据流和数据市场:
- Linkar
- Actian
- AmazonAthena
- AmazonOpenSearchService
- BIConnector
- DataVirtuality
- DenodoForPowerBI
- Exasol
- 铸造厂
- Indexima
- 虹膜
- JethroODBC
- Kyligence
- MariaDB
- MarkLogicODBC
- OpenSearchProject
- QubolePresto
- SingleStoreODBC
- StarburstPresto
- TibcoTdv
仅支持在非 Premium 工作区中将上述列表中的连接器用于数据流或数据市场。
刷新数据流时出现问题,不支持使用的网关版本
如果用于刷新数据流(Gen1 或 Gen2)的本地数据网关版本不受支持,则会发生此错误。 当前,Microsoft 仅支持本地数据网关的六个最新版本。 将网关更新到最新版本或受支持的版本以解决此问题。 使用《更新本地数据网关》这篇文章获取有关更新网关的指导。
与计算表利用 SummarizeColumns 相关的循环依赖错误
2024 年 9 月启用了一项功能,允许 SummarizeColumns 放置在度量值内并在任何外部筛选器上下文中求值,如果在 CalculateTable 中使用 SummarizeColumns,则可能会引入新的依赖项。 这些新依赖项可能会导致模型刷新期间出现循环依赖项错误。
如果出现此错误,以下步骤可以解决该问题:
识别使用 SummarizeColumns 的所有 CalculateTable
对于每个 SummarizeColumns 表达式,进行以下更改:
对于 Product 和 Geography 上具有 GB 的 SummarizeColumns 表达式,例如:
SummarizeColumns(
Product[Color],
Geography[Country],
...
)
将 Product 和 Geography 作为筛选器添加到 SummarizeColumns 中,使其类似于以下表达式:
SummarizeColumns(
Product[Color],
Geography[Country],
Product,
Geography,
...
)
这些步骤会删除引入的空白行并恢复原始行为。 如果有多个使用 SummarizeColumns 的计算表,则所有表的更改都应在单个事务中一起提交,这需要表格编辑器进行修改,因为 Power BI Desktop 无法将多个表更改批处理到单个事务中。
从语义模型刷新时出现连接错误
Analysis Services 连接器可能会遇到错误 The connection either timed out or was lost
。 此错误通常是网络连接失败时的暂时性错误,重试会成功。
在某些情况下,当在复杂的 M 表达式中使用查询结果时,此错误可能更为永久,并且查询结果在执行 M 程序期间的速度不够快。 例如,当数据刷新从语义模型复制并且 M 脚本涉及多个联接时,可能会出现此错误。 在这种情况下,数据可能无法从外部联接中检索较长时间,从而导致连接关闭并出现上述错误。 若要解决此问题,可以使用函数 Table.Buffer
缓存外部联接表。
相关内容
更多问题? 尝试咨询 Microsoft Power BI 社区。