确定何时开发复合模型

已完成

复合模型包含多个源组。 通常,始终存在导入源组和 DirectQuery 源组。

该图显示了一个星型架构复合模型。该模型存储某些表的导入数据,而其他表将查询传递到基础数据源,在本例中为 Azure SQL 数据库。

注意

一般情况下,与导入和 DirectQuery 存储模式相关的优势和限制适用于复合模型。

复合模型的优势

开发复合模型可以获得多项优势。

复合模型提供设计灵活性。 你可以选择使用不同的存储模式来集成数据,并在导入的数据与直通数据之间取得适当的平衡。 通常,对大型数据源使用 DirectQuery 表并通过导入的表提升查询性能,可以使企业模型受益。 本单元稍后将介绍支持此方案的 Power BI 功能。

复合模型还能使 Power BI 有机会通过导入的数据来满足某些分析查询的需求,从而提升 DirectQuery 模型的性能。 查询缓存数据的性能几乎始终比直通查询更好。

最后,当你的模型包含远程模型的 DirectQuery 表(例如 Power BI 数据集)时,你可以使用新的计算列和表来扩展自己的模型。 它会基于核心模型生成专用模型。 有关详细信息,请参阅 Power BI 使用方案:可自定义的托管自助服务 BI

复合模型的限制

有几项限制与复合模型相关。

  • 导入(或稍后所述的“双重”)存储模式表仍然需要定期刷新。 导入的数据可能与 DirectQuery 源数据失去同步,因此定期刷新这些数据非常重要。

  • 当分析查询必须合并导入的数据和 DirectQuery 数据时,Power BI 必须合并源组查询结果,这可能会影响性能。 为了帮助避免较高粒度的查询出现这种情况,可将导入聚合表添加到模型(或启用自动聚合),并将相关维度表设置为使用双重存储模式。 本单元稍后将介绍此方案。

  • 链接模型(将 DirectQuery 链接到 Power BI 数据集)时,对上游模型所做的修改可能会破坏下游模型。 请务必先执行数据集影响分析来评估修改造成的影响。

  • 不同源组中的表之间的关系称为受限关系。 当 Power BI 无法确定关系的“一方”时,模型关系将受到限制。 受限关系可能会导致以不同的方式评估模型查询和计算。 如需了解详细信息,请参阅关系评估

通过导入的数据提升 DirectQuery 模型性能

如果你有理由开发 DirectQuery 模型,可以使用涉及到导入表的特定 Power BI 功能来缓解一些限制。

导入聚合表

可以添加导入存储模式用户定义的聚合表或启用自动聚合。 这样,Power BI 会将较高粒度的事实查询定向到缓存的聚合。 若要进一步提升查询性能,请确保相关维度表设置为使用双重存储模式。

自动聚合是一项高级功能。 有关详细信息,请参阅自动聚合

双重存储模式

双重存储模式表设置为同时使用导入存储模式和 DirectQuery 存储模式。 在查询时,Power BI 将确定可用的最有效模式。 只要有可能,Power BI 就会尝试使用缓存数据来满足分析查询的需求。

双重存储模式表可以很好地与导入聚合表配合工作。 它们使得 Power BI 能够完全从缓存数据满足较高粒度的查询的需求。

通常基于维度表列的切片器视觉对象和筛选器卡片列表可以更快地呈现,因为它们是从缓存数据查询的。

从导入模型提供实时数据

使用增量刷新设置导入表时,可以启用“使用 DirectQuery 实时获取最新数据”选项。

动画示意图显示了增量刷新和实时数据设置,并突出显示“使用 DirectQuery 实时获取最新数据”选项。

启用此选项后,Power BI 会自动创建一个使用 DirectQuery 存储模式的表分区。 在这种情况下,该表将变为混合表,这意味着,它具有用于存储旧数据的导入分区,以及用于存储当前数据的单个 DirectQuery 分区。

当 Power BI 查询混合表时,查询将为旧数据使用缓存,并直通到数据源以检索当前数据。

只能通过高级许可证使用此选项。

有关详细信息,请参阅配置增量刷新和实时数据