Power BI 实现规划:规划和设计内容

注意

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

本文可帮助你在管理内容生命周期过程中规划和设计内容。 主要面向以下对象:

  • 卓越中心 (COE) 和 BI 团队:负责在组织中监督 Power BI 的团队。 这些团队包括决定如何管理 Power BI 内容的生命周期的决策者。
  • 内容创建者和内容所有者:创建内容的用户,他们希望将内容发布到 Fabric 门户以与他人共享。 这些人员负责管理其创建的 Power BI 内容的生命周期。

生命周期管理包括用于处理内容创建到最终停用的过程和做法。 如本系列第一篇文章中所述,管理 Power BI 内容生命周期对于确保向业务用户可靠、一致地交付内容非常重要。

内容生命周期的第一阶段是规划和设计内容。 通常,可以通过执行 BI 解决方案规划来启动内容生命周期。 可收集要求来了解和定义解决方案应解决的问题,并得出解决方案设计。 在此规划和设计阶段,你可以做出关键决策,以便为后续阶段做好准备。

下图描述了 Power BI 内容的生命周期,突出显示了第一阶段,在该阶段规划和设计内容。

示意图显示了 Power BI 内容生命周期。突出显示了第 1 阶段,其关于内容规划和设计。

注意

有关内容生命周期管理的概述,请参阅本系列的第一篇文章

提示

本文重点介绍与生命周期管理相关的内容规划和设计的关键注意事项和决策。

  • 有关如何如何有效地规划和设计 Fabric 或 Power BI 解决方案的详细信息,建议阅读解决方案规划一文。
  • 有关如何有效地规划 Power BI 迁移的详细信息,建议阅读 Power BI 迁移系列。

收集要求时,应清楚地描述影响生命周期管理方法的内容的各个方面。 应将这些方面记录为解决方案规划和设计的一部分。

本文中的以下部分介绍了解决方案的关键方面和注意事项,这些方面和注意事项将激励你在规划和设计内容时采用生命周期管理的方法。

识别和描述内容

设计解决方案时,应描述内容是什么、由谁创建、由谁支持,以及这些内容对组织的重要性。 作为解决方案设计的一部分,应在收集要求期间或完成后解决这些因素。

注意

与你的要求一样,这些问题的解答可能会随着你开发解决方案或在其生命周期的后期发生变化。 回答这些问题后,当对内容进行更改时或者当内容横向缩减所服务的用户数量时,请准备好定期重新评估这些问题。

回答以下有关内容的问题,以帮助做出以后的生命周期管理决策。

内容的格式是什么?

内容的类型、范围和复杂性促使你做出如何管理内容的关键决策。 例如,与整个组织和多个不同的下游工作负载将使用的语义模型相比,针对有限受众的单个报表需要不同的生命周期管理方法。

请回答如下问题,帮助你确定要创建的内容类型。

  • 你希望创建哪些项目类型?每种类型有多少? 例如,将创建数据流或语义模型等数据项,报表或仪表板等报告项,还是两者的组合?
  • 内容如何传送给内容使用者? 例如,使用者是否会使用数据项来生成自己的内容?他们仅查看集中式报表还是两者的组合?
  • 内容有多复杂? 例如,它是一个小原型,还是包含多个业务流程的大型语义模型?
  • 预计内容的规模、范围和复杂性会随着时间的推移而增长吗? 例如,内容将来会涵盖其他区域或业务领域吗?
  • 预计企业需要此内容多长时间? 例如,这些内容会支持具有有限时间线的业务的关键举措吗?

提示

请考虑制作一个体系结构图来描述内容的格式。 可以包括不同的数据源、项类型和内容使用者,以及这些离散组件之间的关系。 体系结构图有助于简明地描述内容及其复杂性,并有助于规划其生命周期管理。 可以使用 Fabric 图标Azure 图标在外部软件中创建这些关系图。 或者,可以使用 Azure 关系图,它附带了制作这些图表的图标和绘图工具。

有关此类关系图的示例,请参阅 Power BI 实现规划使用场景图

谁将创建和支持内容?

内容创建者的需求、技能和工作流各不相同。 这些因素将影响不同生命周期管理方法的成功。 与规模较小的自助服务创建者团队相比,具有协作的大型中心团队通常需要更复杂的内容生命周期管理。

请回答如下问题,帮助你确定谁将创建或支持内容。

  • 预计有多少不同的人来创建此内容? 是多个内容创建者协作,还是由一个人负责创建内容?
  • 内容创建者是否熟悉生命周期管理和相关概念,例如版本控制? 内容创建者是否了解生命周期管理的好处?
  • 开发解决方案的内容创建者与部署后支持该解决方案的人是同一个人吗?
  • 内容创建者或其团队是否有现有的生命周期管理做法来支持现有解决方案?
  • 内容创建者目前是否使用 Azure DevOps 等生命周期管理工具?

重要

确保明确记录负责创建内容的人员,以及在内容部署到生产环境后支持该内容的人员。 请在内容生命周期管理规划中涉及所有这些人员。

内容的重要性是什么?

根据内容对业务的重要性,你将就如何管理内容做出不同的决策。 业务关键内容需要更可靠的内容生命周期管理方法来保护质量并缓解可能的中断。

请回答如下问题,帮助你确定内容是否至关重要。

  • 此内容对业务的重要性如何? 开发它的请求有多迫切?
  • 是否会根据此内容提供的信息做出业务关键决策或行动?
  • 希望在多大范围内分发此内容(从整个组织到有限的本地团队)?
  • 高管或其他战略决策者的工作会依赖此内容吗?
  • 此内容的影响是什么? 例如,如果内容突然不可用,会产生什么业务影响,例如收入损失或业务流程中断?

在充分确定并描述了要创建的内容后,接下来应决定内容创建者应如何协作。

确定内容创建者应如何协作

随着解决方案的范围扩大和复杂性增加,多个内容创建者和所有者可能需要协作。 创建复杂解决方案时,建议使用有助于构建、管理和支持协作的有效工具。 在生成 Power BI 内容时,可通过多种方式进行协作,例如使用 Microsoft Teams 或 Azure DevOps。

提示

即使内容创建者独立工作,他们仍然可以使用 Microsoft Teams 和 Azure DevOps 等工具来规划和构建工作。

Microsoft Teams

对于更小或更简单的项目,内容创建者可以使用 Microsoft Teams进行协作。

关系图显示了方法 1,即使用 Microsoft Teams 进行协作。接下来将介绍关系图中显示的项。

通过使用 Microsoft Teams,内容创建者可以在团队和频道中构建其通信、规划和工作。 对于更简单的协作场景,Microsoft Teams 通常是一个不错的选择。 例如,为有限受众生成内容的分散团队可以使用文档库来存储文件和进行版本控制。 他们还可以使用其他集成工具和服务。

提示

建议使用 Microsoft Teams 在具有分散内容交付的自助服务场景中促进有效的内容生命周期管理。

若要在 Microsoft Teams 中协作和通信,请在 Power BI 内容的整个生命周期内使用支持服务。

  • Planner内容所有者可以使用 Planner 创建计划,用于跟踪任务和确定内容工作的范围。 任务可以描述解决方案中的问题、bug 或功能,以及相应的利益干系人。
  • SharePoint内容创建者可以在 Microsoft Teams 文档库或已连接网站中存储和管理每个频道的文件。 存储在 SharePoint 中的内容文件可以使用版本控制来帮助跟踪和管理内容更改。 有关使用 SharePoint 跟踪和管理更改的详细信息,请参阅阶段 2:开发内容和管理更改
  • 审批内容创建者和所有者可以设置并使用工作流来在审阅后批准内容更改或发布。
  • Fabric 和 Power BI内容创建者和所有者可以从 Microsoft Teams 中访问 Fabric 门户。 在那里,他们可以管理或讨论内容,并将有用的报表添加到 Teams 频道中的选项卡。
  • 其他集成:内容创建者可以使用与 Microsoft Teams 集成的其他 Microsoft 或第三方服务,以最好地满足他们的首选工作流和需求。

建议针对内容创建者应如何使用 Microsoft Teams 进行协作定义一个结构化过程。 确保确定:

  • 如何管理对团队和频道的访问权限。
  • 谁负责管理团队和频道。
  • 如何确定工作范围并将其组织成不同的团队、频道和计划。
  • 内容创建者应如何使用文档库来组织文件以及跟踪和管理更改。 例如,如何组织文档库以及内容创建者是否应签入和签出文件。
  • 内容创建者是否应使用 OneDrive 刷新自动发布 Power BI Desktop (.pbix) 文件。
  • 如何解决文件同步冲突。
  • 何时存档和删除文档库中不再相关的文件。

Azure DevOps

内容创建者和所有者还可以使用 Azure DevOps 在一个集中的、有组织的中心进行通信和协作。

关系图显示了方法 2,即使用 Azure DevOps 进行协作。接下来将介绍关系图中显示的项。

注意

Azure DevOps 是一套与 Power BI 和 Fabric 集成的服务,可帮助规划和协调内容生命周期管理。 以这种方式使用 Azure DevOps 时,通常会利用以下服务:

  • Azure Repos允许创建和使用远程 Git 存储库,这是用于跟踪和管理内容更改的远程存储位置。
  • Azure Pipelines允许创建和使用一组自动化任务来处理、测试远程存储库中的内容并将该内容部署到工作区。
  • Azure Test Plans允许设计测试来验证解决方案,并使用 Azure Pipelines 一起自动执行质量控制。
  • Azure Boards允许使用板将任务和计划作为工作项进行跟踪,以及链接或引用其他 Azure DevOps 服务的工作项。
  • Azure Wiki允许与团队共享信息,以了解内容并为内容做出贡献。

通过使用 Azure DevOps,内容创建者使用项目来构建其通信、规划和工作。 此外,内容创建者还可以通过执行源代码管理、验证和部署来协调 Azure DevOps 中的内容生命周期管理。 源代码管理是管理对内容代码和元数据的更精细更改的过程。

对于更高级的协作场景,Azure DevOps 通常是一个不错的选择,因为有一些支持服务和选项来协调内容创建和部署。

提示

建议使用 Azure DevOps 在具有集中内容交付的企业场景中帮助进行有效的内容生命周期管理。 在更大或更复杂的场景中,使用 Azure DevOps 或类似工具进行协作比使用 Microsoft Teams 或 SharePoint 进行协作更可取。 这是因为有更多的工具和选项可用于促进更强大的协作和自动化。

建议针对内容创建者应如何使用 Azure DevOps 进行协作定义一个结构化过程。 确保确定:

  • 如何确定工作的范围以及如何创建、命名和使用内容分支。
  • 作者如何对更改进行分组和提交,并使用提交消息对其进行描述。
  • 谁负责使用拉取请求审阅和批准更改。
  • 如何解决拉取请求合并冲突以及由谁解决这些冲突。
  • 如何将不同分支中的更改合并到单个分支中。
  • 如何测试内容以及部署内容之前由谁执行测试。
  • 如何以及何时将更改部署到开发、测试和生产工作区。
  • 如何以及何时可以回滚已部署的解决方案更改或版本。

注意

还可以将 Microsoft Teams 与 Azure DevOps 一起使用,因为可以通过不同的方法来集成这些服务。 例如,可以从 Microsoft Teams 中查看和管理 Azure Boards,并监视 Azure Pipelines 中的事件。

最重要的是,使用可促进协作并最适合团队的需求和工作方式的工具和服务。

在确定内容创建者是否以及何时应协作时,接下来应决定将文件存储在哪里。 其中许多文件将存储在你选择协作的位置。

决定文件的存储位置

创建内容时,通常会生成不同类型的文件。 请务必决定存储这些文件的位置,以便可以有效地管理这些文件。

提示

将文件存储在多个团队成员可以访问的位置,以及可以轻松跟踪更改的位置(称为版本控制)。 此方法可确保团队成员离开或文件丢失不会导致中断。

需要存储的文件类型通常包括:

  • 内容文件:包含内容数据或元数据的文件。 包含 .pbix 和 Power BI Project (.pbip) 文件等数据的内容文件包含敏感信息。 将内容文件存储在只有需要访问它们的人才能访问的安全位置。 此外,应将内容文件存储在支持版本控制的位置,例如 Microsoft Teams 中的文档库或 Azure DevOps 中的 Git 存储库。 内容文件的示例包括:
    • Power BI Desktop (.pbix) 文件
    • Power BI Project (.pbip) 文件
    • Power BI 分页报表 (.rdl) 文件
    • 模型元数据(.bim 或 TMDL)文件
    • 数据流元数据 (.json) 文件
  • 数据源文件:数据项(如语义模型或数据流)使用的文件。 内容直接依赖于数据源文件,因此请务必仔细考虑存储位置,因为删除它们将导致数据刷新失败。 此外,这些文件可能包含敏感信息。 因此,将数据源文件存储在一个其他个人的访问权限有限的安全、可靠且可信的环境中。 数据源文件的示例可能包括:
    • 结构化数据源,如 Excel 工作簿、Parquet 或 CSV 文件。
    • 半结构化数据源,如 JSON 或 XML 文件。
    • 非结构化数据源,如导入报表中的图像。
  • 支持文件:支持内容创建或管理的文件,但这些文件不是内容创建或管理所必需的。 支持文件应存储在支持版本控制的位置,以及其他工具和内容创建者可以访问这些文件的位置。 支持文件的示例可能包括:
    • 最佳做法分析器规则 (.json) 文件。
    • Power BI 主题 (.json) 文件。
    • 内容和查询的源代码文件。
    • 自定义可视化效果 (.pbiviz) 文件。
  • 模板和文档:有助于创建自助服务内容或描述现有内容的文件。 模板和文档应便于需要使用它们的人访问。 模板和文档的示例可能包括:
    • Power BI 模板 (.pbit) 文件。
    • 可视化效果模板和示例报表。
    • 解决方案设计和文档。
    • 解决方案规划和路线图。
    • 用户请求和解决方案问题。

注意

某些内容文件(如 .pbix 和 .pbip 文件)可以包含从数据源导入的敏感数据。 此外,TMDL 或 .pbit 文件等元数据文件还可以包含敏感信息。 确保采取必要的预防措施将这些文件存储在安全位置,并练习有效的数据丢失防护

可以使用不同的选项来存储文件。 确保根据文件的类型、内容以及使用方式选择适当的位置。

SharePoint Online 或 OneDrive

存储文件的常见解决方案是使用 SharePoint 网站。 SharePoint 可供大多数用户广泛访问,并与 Power BI 和其他 Microsoft 365 应用程序(如 Microsoft Teams)高度集成。 此外,它还内置了版本控制,便于存储大多数文件类型。 版本控制允许查看和管理文件的不同保存版本。

在 SharePoint 中存储文件时,请考虑以下几点。

  • 组织:确保保持一致的逻辑结构,以便可以直接查找特定文件。 使用良好的命名约定、在文件夹中组织文件,以及与正在进行的项目不再相关的存档文件。
  • OneDrive 刷新:可以将已发布的语义模型或报表链接到存储在 SharePoint 或 OneDrive for Business(也称为 OneDrive 工作版或学校版)站点中的 .pbix 文件。 使用这种方法,不再需要发布语义模型来使更改生效。 相反,更改将在每小时自动 OneDrive 刷新显示。 虽然方便,但请注意,这种方法有一些注意事项和挑战。 事情一发展,就不容易逆转。
  • 预览版报表:在 SharePoint 中,无需安装 Power BI Desktop 或在本地下载 .pbix 文件,即可查看 Power BI 报表。 以这种方式打开报表时,它们将显示在浏览器中。 此功能可以是从 Fabric 门户查看报表的便捷替代方法。 Fabric 租户设置默认启用它。

提示

使用 Microsoft Teams 进行协作时,请考虑将文件存储在频道文档库中。 这种方法有助于集中文件并促进协作。

请考虑在 SharePoint 中存储以下文件类型。

  • 模板和文档:没有现有存储解决方案时,将模板和文档存储在 SharePoint 中。 SharePoint 非常适合这些文件,因为可以授予其他人访问权限并管理文件,而无需复杂的设置或过程。
  • 支持文件:没有现有存储解决方案时,将支持文件存储在 SharePoint 中。 但是,某些支持文件(如 Power BI 主题 .json 报表文件)可能更好地存储在版本控制系统中,以便查看和管理保存的更改。
  • 内容文件:当内容对业务不重要或者你无法访问远程存储库(如 Azure Repos )时,将内容存储在 SharePoint 中。
  • 数据源:仅当数据源的大小和复杂性较小时,才将其存储在 SharePoint 中。 使用 SharePoint 存储数据源文件时要遵守规则。 考虑其他可能的替代方案,如 OneLake

注意

不要将 SharePoint 作为适当数据体系结构的替代方案。 虽然在某些有限的场景中,将数据源文件存储在 SharePoint 中可能很方便,但当你拥有更大、更复杂的数据源或者需要更低的数据延迟时,这种方法无法扩展。

警告

不要使用个人文件系统或个人 OneDrive 帐户来存储文件。 如果所有者离开组织,则这些文件将不再可用。

OneLake

如果有 Fabric 容量,则 OneLake 可能是存储数据源文件的好选择。 可以使用 OneLake 文件资源管理器将文件上传同步到 OneLake,其中可以将文件转换为表,以便在 Power BI 等下游工作负载中使用。 对于较大或定期更新的数据源,可以使用 Fabric 数据工厂或者其他使用 Azure Data Lake Storage (ADLS) Gen2 APIAzure 存储 Python SDK 的应用程序自动将文件加载到 OneLake。

注意

从 OneLake 上传或下载文件等操作使用 Fabric 容量单位。 应监视容量指标,并采取措施来避免因大型文件不必要移动而导致的容量紧张。

此外,使用 OneLake 文件资源管理器的用户访问的文件容易遭受意外更改或丢失。 建议避免将 OneLake 文件资源管理器用于业务关键解决方案。

警告

OneLake 文件资源管理器有几个重要的限制和注意事项。 例如,OneLake 不支持对文件(如 SharePoint 或 OneDrive)进行版本控制。 在决定存储文件的位置时,请考虑这些注意事项和限制。

提示

在 OneLake 中存储数据时,请考虑启用业务连续性和灾难恢复 (BCDR),以降低数据丢失的风险。 启用 BCDR 后,数据将重复并存储在两个不同的地理区域中,具体取决于 Azure 的标准区域配对。

远程存储库

在开发期间,内容创建者可以定期将工作从本地计算机提交并保存到远程存储库(例如 Azure Repos Git 存储库)。 远程存储库包含最新版本的解决方案,整个开发团队都可以访问它。 通常,远程存储库可促进比使用 Teams、SharePoint 或 OneDrive 更高级的生命周期管理方法。 这是因为通过使用远程存储库,内容创建者可以从更复杂的选项中受益,以协作处理文件,或跟踪和管理文件更改。 例如,内容创建者可以在远程存储库的自己的分支上进行更改,并在准备就绪时请求将这些更改合并到主分支。

请考虑将以下文件类型存储在远程存储库中。

  • 模板和文档:使用 Azure DevOps 等相关服务管理项目时,在远程存储库中存储模板和文档。
  • 支持文件:将支持文件存储在远程存储库中,以便轻松跟踪和管理更改。
  • 内容文件:当内容对业务至关重要时,或者你打算与其他开发人员就同一内容进行协作时,将其存储在远程存储库中。 远程存储库非常适合跟踪内容更改和促进协作。

提示

使用远程存储库时,请考虑将 Power BI 报表和语义模型存储为 Power BI Desktop 项目 (.pbip) 文件而不是 .pbix 文件。 这是因为保存的更改无法在 .pbix 文件中识别。

无文件:在 Fabric 门户中创建的内容

内容创建者可以直接在 Fabric 门户中创作内容。 在此场景中,他们通常不直接使用内容文件。 通常,仅当无法在其他位置创建项类型(如数据流、仪表板或记分卡)时,才应在 Fabric 门户中创作内容。 当无法访问 Windows 计算机,因此无法使用 Power BI Desktop 时,也可以在 Fabric 门户中创作报表和语义模型。 有关详细信息,请参阅用户工具和设备

注意

不能将在 Fabric 门户中创建的某些内容下载为文件。 例如,在 Fabric 门户中创建的报表不能作为 .pbix 文件下载。

在 Fabric 门户中创作内容时,应改用 Fabric APIGit 集成来备份内容定义。 备份内容定义时,如果内容被意外删除或更改,则可以缓解中断。 如果内容被意外删除或更改,则可以使用备份替换它。

清单 - 规划和设计内容时,关键决策和操作包括:

  • 进行解决方案规划:收集业务要求技术要求,以充分了解内容将解决的问题,并设计此内容将如何解决问题。
  • 确定将创建内容的人员:根据各个内容创建者的工作流、技能和需求,可能需要不同的生命周期管理方法。
  • 确定多个内容创建者是否需要协作:确保协作内容创建者使用的是支持版本控制(如 .pbip 文件)的文件类型。
  • 决定内容创建者如何协作:决定协作的复杂程度。 此外,决定如何促进此协作,例如使用 Microsoft Teams 或 Azure DevOps。
  • 设置协作工具:确保对解决方案或项目执行必要的首次设置。 通过这些工具制定有关如何管理协作的关键决策。
  • 在 SharePoint 或 OneLake 中存储数据源文件:在 SharePoint 中存储小型简单的数据源文件。 否则,请改用 OneLake 或 ADLSGen2(如果可用)。
  • 在 SharePoint 或远程存储库中存储内容和支持文件:对于更简单、较小的项目,如果经过组织,并且你练习了良好的访问管理,请对大多数文件使用 SharePoint。 对于较大的环境或需要并行协作时,请考虑使用远程存储库,这将提供内容更改的详细可见性。
  • 在 SharePoint 中存储模板和文档:确保模板和文档易于其他人查找、使用和理解。
  • 规划开发和部署:若要结束此第一个阶段,请执行具体规划来解决关键领域,并进行初始设置。 例如,建立工具和测试数据源连接。

本系列的下一篇文章中,了解如何在管理内容生命周期过程中开发内容和管理更改。