Power BI 使用方案:高级数据准备

备注

本文是 Power BI 实现规划系列文章中的一篇。 本系列着重介绍 Microsoft Fabric 中的 Power BI 体验。 有关该系列的介绍,请参阅 Power BI 实施规划

数据准备(有时称为 ETL,即“提取、转换和加载”的英文首字母缩写)活动通常涉及大量工作。 收集、清理、组合和扩充数据所涉及的时间、技能和精力取决于源数据的质量和结构。

在集中式数据准备上投入时间和精力有助于:

  • 增强可重用性,并从数据准备工作中获得最大价值。
  • 提高向多个团队提供一致数据的能力。
  • 减少其他内容创建者所需的工作量。
  • 实现规模和性能。

高级数据准备使用方案扩展了自助式数据准备方案。 高级数据准备是关于增加跨不同团队和不同用例的多个用户的数据流重用。

将数据流输出提供给多个语义模型创建者时,单独的工作区(按数据流目的进行组织)非常有用,尤其是在组织中不同团队时。 当创建和管理数据流的人与使用数据流的人不同时,单独的工作区也有助于管理安全角色。

注意

高级数据准备方案是第二个数据准备方案。 此方案基于可以使用集中式数据流执行的操作,如自助式数据准备方案中所述。

高级数据准备方案是自助式 BI 方案中的一种。 但是,集中式团队成员可以按照与托管的自助式 BI 方案中描述的方式类似的方式使用这些技术。 有关自助方案的完整列表,请参阅 Power BI 使用方案一文。

为简洁起见,本文未介绍内容协作和交付方案主题中描述的某些方面。 若要了解完整信息,请先阅读这些文章。

方案示意图

提示

如果不熟悉自助式数据准备使用方案,我们建议你进行查看。 高级自助式数据准备方案是基于该方案而生成的。

此高级数据准备方案的重点在于:

  • 根据目的使用单独的数据流:临时、转换或最终。 建议使用可组合的构建基块,以各种组合方式获得更多的重用,从而支持特定的用户需求。 本文稍后将介绍可组合的构建基块。
  • 使用支持数据流创建者或数据流使用者的单独工作区。 使用数据流的数据建模者可能在不同的团队和/或有不同的用例。
  • 使用链接表(也称为“链接实体”)、计算表(也称为“计算实体”)和增强的计算引擎。

注意

有时,术语“语义模型”和“数据模型”可以交换使用。 通常,从 Power BI 服务的角度而言,它是指“语义模型”。 从开发角度而言,它是指“数据模型”(或简称为“模型”)。 在本文中,这两个术语具有相同的含义。 同样,语义模型创建者和数据建模者具有相同的含义。

下图简要概述了支持高级数据准备方案的最常见用户操作和 Power BI 组件。

示意图显示高级数据准备,讲的是改善数据流的覆盖范围和可重用性。示意图中的项在下表中进行了介绍。

提示

如果想要将方案图嵌入演示文稿、文档或博客文章,或者将其打印为墙上海报,建议下载方案图。 由于它是可缩放矢量图形 (SVG) 图像,因此可以放大或缩小它,而不会造成任何质量损失。

该方案图描绘了以下用户操作、工具和功能:

项目 描述
项 1。 数据流创建者在数据流中开发一个表集合。 对于旨在供重复使用的数据流,创建者通常(但非必需)属于跨组织边界支持用户的集中式团队(例如 IT、企业 BI 或卓越中心)。
项 2。 数据流连接到一个或多个数据源中的数据。
项 3。 某些数据源(例如驻留在专用组织网络中的数据源)可能需要本地数据网关或 VNet 网关来进行数据刷新。 这些网关用于在 Power Query Online 中创作数据流和刷新数据流。
项 4。 所涉及的所有工作区的许可证模式都已设置为“Fabric 容量”、“高级容量”、“Premium Per User”或“嵌入”。 这些许可模式允许跨工作区使用链接表和计算表,这在此方案中是必需的。
项 5。 数据流创建者使用 Power Query Online(基于 Web 的 Power Query 版本)开发数据流。
项 6。 临时数据流是在专门用于集中管理数据流的工作区中创建的。 临时数据流按原样从源复制原始数据。 很少(如果有)应用转换。
项 7。 转换数据流(也称为“已清理的数据流”)在同一工作区中创建。 它通过使用链接表访问临时数据流来获取数据。 计算表包括准备、清理和重塑数据的转换步骤。
项 8。 数据流创建者有权管理工作区中专门用于集中管理数据流的内容。
项 9。 存在一个或多个其他工作区,旨在提供对最终数据流的访问,后者可将生产就绪的数据传送给数据模型。
项 10。 最终数据流是在数据建模者可用的工作区中创建的。 它通过使用链接表访问转换数据流来获取数据。 计算表表示准备好的输出,这些输出对被授予工作区“查看者”角色的数据建模者可见。
项 11。 语义模型创建者(使用数据流输出)具有对包含最终数据流输出的工作区的查看者访问权限。 数据流创建者还有权管理和发布工作区中的内容(方案图中未描绘)。
项 12。 在 Power BI Desktop 中开发数据模型时,语义模型创建者使用最终数据流作为数据源。 准备就绪后,语义模型创建者将包含数据模型的 Power BI Desktop 文件 (.pbix) 发布到 Power BI 服务(方案图中未描绘)。
项 13。 Fabric 管理员在管理门户中管理设置。
项 14。 在管理门户中,Power BI 管理员可以设置 Azure 连接,以将数据流数据存储在其 Azure Data Lake Storage Gen2 (ADLS Gen2) 帐户中。 设置包括分配租户级存储帐户和启用工作区级存储权限。
项 15。 默认情况下,数据流使用由 Power BI 服务管理的内部存储来存储数据。 (可选)可以在组织的 ADLS Gen2 帐户中存储数据流输出的数据。
项 16。 Fabric 管理员会在 Fabric 门户中监督和监视活动。

要点

下面是对于高级数据准备方案需要强调的一些要点。

数据流

数据流包含表集合(也称为“实体”)。 每个表都由一个查询定义,查询中包含为表加载数据所需的数据准备步骤。 创建数据流的所有工作都在 Power Query Online 中完成。 可以在多个产品中创建数据流,包括 Power Apps、Dynamics 365 Customer Insights 和 Power BI。

注意

无法在 Power BI 服务的个人工作区中创建数据流。

数据流的类型

使用可组合的构建基块是一种设计原则,可用于管理、部署和保护系统组件,然后以各种组合方式使用它们。 创建特定于用途的模块化自包含数据流是最佳做法。 它们有助于实现数据重用和企业规模。 模块化数据流也更易于管理和测试。

方案图中显示了三种类型的数据流:临时数据流、转换数据流和最终数据流。

临时数据流

临时数据流(有时称为“数据提取数据流”)按原样从源复制原始数据。 以最少的转换提取原始数据意味着下游转换数据流(如下所述)可以使用临时数据流作为其源。 这种模块化在以下情况下很有用:

  • 对数据源的访问仅限于狭窄的时间窗口和/或少数用户。
  • 需要临时一致性以确保所有下游数据流(和相关语义模型)同时传递从数据源中提取的数据。
  • 由于源系统限制或其支持分析查询的能力,有必要减少提交给数据源的查询数量。
  • 源数据的副本对于协调过程和数据质量验证非常有用。

转换数据流

转换数据流(有时称为“已清理的数据流”)从连接到临时数据流的链接表中获取数据。 将转换与数据提取过程分开是一种最佳做法

转换数据流包括准备和重构数据所需的所有转换步骤。 但是,此层仍侧重于可重用性,以确保数据流适用于多种用例和用途。

最终数据流

最终数据流表示准备好的输出。 根据用例和目的,可能会发生一些额外的转换。 对于分析,星型架构表(维度或事实)是最终数据流的首选设计。

计算表对被授予工作区“查看者”角色的数据建模者可见。 此表类型在下面的数据流表的类型主题中进行了介绍。

注意

数据湖通常具有区域,例如青铜、白银和黄金。 这三种类型的数据流代表了类似的设计模式。 为了做出最佳的数据体系结构决策,请考虑维护数据的人员、数据的预期用途以及访问数据的人员所需的技能水平。

数据流的工作区

如果要在单个工作区中创建所有数据流,则会显着限制可重用性。 当支持跨团队的多种用户类型和/或用于不同用例时,使用单个工作区还会限制可用的安全选项。 建议使用多个工作区。 当你需要支持来自组织各个领域的自助式创建者时,它们可提供更好的灵活性。

方案图中显示的两种类型的工作空间包括:

  • 工作区 1:它存储集中管理的数据流(有时称为“后端工作区”)。 其中包含临时数据流和转换数据流,因为它们由同一个人管理。 数据流创建者通常来自一个集中式团队,例如 IT、BI 或卓越中心。 应向其分配工作区“管理员”、“成员”或“参与者”角色。
  • 工作区 2:它存储最终数据流输出并将其提供给数据的使用者(有时称为“用户工作区”)。 语义模型创建者通常是自助式分析师、高级用户或公民数据工程师。 应向其分配工作区“查看者”角色,因为他们只需要使用最终数据流的输出。 为了支持来自组织各个领域的语义模型创建者,你可以根据用例和安全需求创建大量像这样的工作区。

提示

建议查看支持语义模型创建者的方法,如自助式数据准备使用方案中所述。 请务必了解,语义模型创建者仍然可以在 Power BI Desktop 中使用 Power Query 的全部功能。 他们可以选择添加查询步骤,以进一步转换数据流数据或将数据流输出与其他源合并。

数据流表的类型

方案图中描绘了三种类型的数据流表(也称为“实体”)。

  • 标准表:查询外部数据源,例如数据库。 在方案图中,临时数据流中描绘了标准表。
  • 链接表引用另一个数据流中的表。 链接表不会复制数据。 相反,它允许为多种目的多次重用标准表。 链接表对工作区查看者不可见,因为它们从原始数据流继承权限。 在方案图中,链接表被描绘了两次:
    • 在转换数据流中,用于访问临时数据流中的数据。
    • 在最终数据流中,用于访问转换数据流中的数据。
  • 计算表通过使用其他数据流作为其源来执行其他计算。 计算表允许根据个别用例的需要自定义输出。 在方案图中,计算表被描绘了两次:
    • 在转换数据流中,用于执行常见转换
    • 在最终数据流中,用于将输出传送给语义模型创建者。 由于计算表再次保存了数据(在数据流刷新后),因此数据建模者可以访问最终数据流中的计算表。 在这种情况下,数据建模者应被授予工作区“查看者”角色的访问权限。

注意

有许多设计技术、模式和最佳做法可以将自助式服务数据流转变为企业就绪数据流。 此外,许可模式设置为“Premium Per User”或“Premium Per Capacity”的工作区中的数据流可以受益于高级功能。 链接表和计算表(也称为“实体”)两项高级功能,对于提高数据流的可重用性至关重要。

增强的计算引擎

增强的计算引擎是 Power BI Premium 提供的一项高级功能。

重要

有时本文指的是 Power BI Premium 或其容量订阅 (P SKU)。 请注意,Microsoft 目前正在合并购买选项并停用 Power BI Premium Per Capacity SKU。 新客户和现有客户应考虑改为购买 Fabric 容量订阅 (F SKU)。

有关详细信息,请参阅 Power BI Premium 许可即将进行的重要更新Power BI Premium 常见问题解答

增强的计算引擎提高了引用(链接到)数据流的链接表(在同一工作区内)的性能。 从增强的计算引擎中获得最大优势

  • 拆分临时数据流和转换数据流。
  • 使用相同的工作区来存储临时数据流和转换数据流。
  • 在查询步骤的早期应用可以查询折叠的复杂操作。 优先考虑可折叠操作有助于实现最佳刷新性能。
  • 使用增量刷新来减少刷新持续时间和资源消耗。
  • 在开发阶段尽早并频繁地执行测试。

数据流和语义模型刷新

数据流是语义模型的数据源。 在大多数情况下都会涉及多个数据刷新计划:一个计划用于每个数据流,一个计划用于每个语义模型。 或者,可以使用从语义模型到数据流的 DirectQuery,该功能需要 Power BI Premium 和增强的计算引擎(方案图中未描绘)。

Azure Data Lake Storage Gen2

ADLS Gen2 帐户是启用了分层命名空间的特定类型的 Azure 存储帐户。 ADLS Gen2 在运行分析工作负载方面具有性能、管理和安全优势。 默认情况下,Power BI 数据流使用内部存储,该存储是 Power BI 服务管理的内置数据湖帐户。 组织可以选择性地通过连接到其组织的 ADLS Gen2 帐户来自带数据湖

以下是使用自己的数据湖的一些优势:

  • 用户(或进程)可以直接访问存储在数据湖中的数据流数据。 在 Power BI 外部重用数据流时,这种做法很有帮助。 例如,Azure 数据工厂可以访问数据流数据。
  • 其他工具或系统可以管理数据湖中的数据。 在这种情况下,Power BI 可以使用数据,而无需管理数据(方案图中未描绘)。

使用链接表或计算表时,请确保将每个工作区分配给相同的 ADLS Gen2 存储帐户。

注意

ADLS Gen2 中的数据流数据存储在特定于 Power BI 的容器中。 自助式数据准备使用方案图中描绘了此容器。

管理员门户设置

管理门户中有两个重要的设置需要管理:

网关设置

通常,需要本地数据网关来连接到位于专用组织网络或虚拟网络中的数据源。

在以下情况下需要数据网关:

  • 在 Power Query Online 中创作连接到专用组织数据的数据流。
  • 刷新连接到专用组织数据的数据流。

提示

数据流需要采用标准模式的集中式数据网关。 处理数据流时,不支持采用个人模式的网关。

系统监督

活动日志记录 Power BI 服务中发生的用户活动。 Power BI 管理员可以使用收集的活动日志数据来执行审核,以帮助他们了解使用模式和采用情况。 在支持治理工作、安全审核和合规性要求方面,活动日志也很有作用。 在高级数据准备方案中,活动日志数据有助于跟踪数据流的管理和使用。

有关可帮助你做出 Power BI 实施决策的其他有用方案,请参阅 Power BI 使用方案一文。