刷新方案疑难解答
本文介绍在 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 会禁用刷新。 解决潜在问题,然后重新启用计划刷新。
但是,如果语义模型位于 Embedded 容量下的工作区中,并且该容量已关闭,那么(由于容量关闭)第一次刷新尝试会失败,在这种情况下会立即禁用其计划的刷新。
禁止访问该资源
缓存凭据过期可能导致发生此错误。 清除 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 容量中可能会发生限制。 当取消某个刷新操作时,系统会在刷新历史记录中记录以下错误消息:
你已超出语义模型刷新的容量限制。 请在处理较少的语义模型时重试。
如果错误频繁发生,请使用计划视图来确定计划的刷新事件是否具有适当间隔。 要了解每个 SKU 允许的最大并发刷新数,请查看容量和 SKU 表。
要解决此错误,可以修改刷新计划,以便在处理的语义模型较少时执行刷新操作。 还可以在受影响的高级容量上增加刷新计划中所有语义模型的刷新操作间隔时间。 如果使用的是自定义 XMLA 操作,可以重试该操作。
超出容量级别限制。
此错误指明,根据组织购买的容量,同时运行刷新的语义模型太多。 可以重试刷新操作,或重新计划刷新时间来解决此错误。
超出节点级别限制。
此错误指明,根据驻留在给定物理节点上的语义模型,Power BI Premium 存在系统错误。 可以重试刷新操作,或重新计划刷新时间来解决此错误。
Premium 工作区中的数据流或数据市场故障
有些连接器不可用于 Premium 工作区中的数据流和数据市场。 使用不受支持的连接器时,可能会收到以下错误:Expression.Error: 导入 "<"连接器名称">" 不与任何导出匹配。 是否缺失模块引用?
以下连接器不可用于 Premium 工作区中的数据流和数据市场:
- Linkar
- Actian
- AmazonAthena
- AmazonOpenSearchService
- BIConnector
- DataVirtuality
- DenodoForPowerBI
- Exasol
- Foundry
- Indexima
- IRIS
- 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 无法将多个表更改批处理到单个事务中。
相关内容
更多问题? 尝试咨询 Microsoft Power BI 社区。