计划将 .rdl 报表迁移到 Power BI

适用于: Power BI 报表生成器 Power BI Desktop Power BI 2022 报表服务器 SQL Server 2022 Reporting Services

本文面向的是 Power BI 报表服务器和 SQL Server Reporting Services (SSRS) 报表作者以及 Power BI 管理员。 它为你提供指导,帮助将报表定义语言 (.rdl) 报表迁移到 Power BI。

注意

在 Power BI 中,.rdl 报表称为分页报表。

指南分为四个阶段。 建议你先阅读整篇文章,然后再迁移报表。

  1. 准备工作
  2. 预迁移阶段
  3. 迁移阶段
  4. 迁移后阶段

你可在不停机或不中断报表用户操作的情况下实现到报表服务器的迁移。 请务必了解,不需要删除任何数据或报表。 这意味着在准备好停用当前环境之前,可以保持该环境。

开始之前

在开始迁移之前,请验证你的环境是否满足特定先决条件。 我们将介绍这些先决条件,并向你介绍有用的迁移工具。

准备迁移

在准备将报表迁移到 Power BI 时,首先验证你是否拥有 Power BI Pro 或 Premium Per User 许可证,以便将内容上传到目标工作区。

支持的版本

可迁移在本地或在 Azure 等云提供商托管的虚拟机上运行的报表服务器实例。

以下列表描述了支持迁移到 Power BI 的 SQL Server Reporting Services 版本:

  • SQL Server Reporting Services 2012
  • SQL Server Reporting Services 2014
  • SQL Server Reporting Services 2016
  • SQL Server Reporting Services 2017
  • SQL Server Reporting Services 2019
  • SQL Server Reporting Services 2022

还可从 Power BI 报表服务器迁移 .rdl 文件。

适用于 Power BI 报表服务器和 SQL Server Reporting Services 2017+ 的迁移工具

如果在 SQL Server 2016 之后使用 Power BI 报表服务器或 SQL Server Reporting Services,可使用内置工具将其报表发布到 Power BI。 有关详细信息,请参阅将 .rdl 文件发布到 Power BI

适用于更低版本的 SQL Server 的迁移工具

对于早期版本的 SQL Server Reporting Services,建议使用 RDL 迁移工具来帮助准备和迁移报表。 此工具由 Microsoft 开发,可帮助客户将 .rdl 报表从其 SSRS 服务器迁移到 Power BI。 它在 GitHub 上提供,并记录了迁移方案的端到端演练。

该工具自动执行以下任务:

  • 检查不支持的数据源不支持的报表功能
  • 将任何共享资源转换为嵌入资源
    • 共享数据源成为嵌入数据源。
    • 共享数据集成为嵌入数据集。
  • 将通过检查的报表作为分页报表发布到指定的 Power BI 工作区。

它不会修改或删除现有报表。 完成后,该工具将输出已完成的所有操作(无论成功与否)的摘要。

随着时间的推移,Microsoft可能会改进该工具。 并且还鼓励社区促进并帮助对其进行改进。

预迁移阶段

验证你的组织是否满足先决条件后,就可以开始预迁移阶段了。 此阶段分为三个阶段:

  1. 发现
  2. 评估
  3. 准备

发现

“发现”阶段的目标是识别现有的报表服务器实例。 此过程包括扫描网络以识别组织中的所有报表服务器实例。

你可以使用 Microsoft 评估和计划工具包。 “MAP 工具包”可发现和报告报表服务器实例、版本和已安装的功能。 它是一种功能强大的清单、评估和报告工具,可简化迁移计划流程。

组织可能有数百个 SQL Server Reporting Services (SSRS) 报表。 由于缺少使用,其中一些报告可能已过时。 查找和停用未使用的报表一文有助于发现未使用的报表并了解如何创建清理节奏。

评估

在发现报表服务器实例后,“评估”阶段的目标就是了解无法迁移的任何 .rdl 报表或服务器项。

.rdl 报表可从报表服务器迁移到 Power BI。 每个已迁移的 .rdl 报表都成为 Power BI 分页报表。

但是,以下报表服务器项类型无法迁移到 Power BI:

  • 共享数据源和共享数据集:RDL 迁移工具会自动将共享数据源和共享数据集转换为嵌入数据源和数据集,前提是它们使用受支持的数据源。
  • 图像文件等资源
  • 链接报表会进行迁移,无论是否选择链接到它们的父报表进行迁移。 在 Power BI 服务中,它们是常规 .rdl 报表。
  • KPI:Power BI 报表服务器或 Reporting Services 2016(或更高版本)- 仅限 Enterprise Edition。
  • 移动报表:Power BI 报表服务器或 Reporting Services 2016(或更高版本)- 仅限 Enterprise Edition。
  • 报表模型:已弃用。
  • 报表部件:已弃用。

如果 .rdl 报表依赖于 Power BI 分页报表尚不支持的功能,你可以计划在适当的时候将其重新开发为 Power BI 报表

有关 Power BI 服务中分页报表支持的数据源的详细信息,请参阅 Power BI 分页报表支持的数据源

一般来说,Power BI 分页报表已针对“打印”或“PDF 生成”进行了优化。 Power BI 报表已针对“浏览和交互性”进行了优化。 有关更多详细信息,请参阅何时使用 Power BI 中的分页报表

不支持在报表中引用自定义代码 DLL 文件。

PDF 输出差异通常在报表中使用不支持非拉丁字符的字体并随后将非拉丁字符添加到报表时发生。 在报表服务器和客户端计算机上测试 PDF 呈现输出,以验证报表是否正常呈现。

准备

“准备”阶段的目标是准备好一切事情。 它包括设置 Power BI 环境、计划如何保护和发布报表,以及重新开发不会迁移的报表服务器项的想法。

  1. 验证对报表数据源的支持,并设置 Power BI 网关以允许与任何本地数据源连接。
  2. 熟悉 Power BI 安全性,并计划如何通过 Power BI 工作区重现报表服务器文件夹和权限
  3. 熟悉 Power BI 共享,并计划如何通过发布 Power BI 应用来分发内容。
  4. 请考虑使用共享 Power BI 语义模型来代替报表服务器共享数据源。
  5. 使用 Power BI Desktop 来开发移动优化报表,可使用 Power KPI 自定义视觉对象来代替报表服务器移动报表和 KPI。
  6. 重新计算报表中 UserID 内置字段的使用。 如果依赖于 UserID 来保护报表数据,则请注意,对于分页报表(在 Power BI 服务中托管时),它会返回用户主体名称 (UPN)。 因此,内置字段将返回 adelev@adventureworks.com 等内容,而不会返回 NT 帐户名称,例如 AW\mblythe。 你需要修订数据集定义,可能还需要修订源数据。 修订并发布后,建议全面测试报表,以确保数据权限按预期方式工作。
  7. 重新计算报表中 ExecutionTime 内置字段的使用。 对于分页报表(在 Power BI 服务中托管时),内置字段以协调世界时(或 UTC)返回日期/时间。 这可能会影响报表参数默认值和报表执行时间标签(通常被添加到报表页脚)。
  8. 如果你的数据源是 SQL Server(本地),请验证报表是否未使用地图可视化效果。 地图可视化效果依赖于 SQL Server 空间数据类型,网关不支持这些数据类型。 有关详细信息,请参阅分页报表的数据检索指南(SQL Server 复杂数据类型)
  9. 对于级联参数,请注意参数是按顺序计算的。 首先尝试预聚合报表数据。 有关详细信息,请参阅在分页报表中使用级联参数
  10. 确保你的报表作者已安装 Power BI 报表生成器,并且你轻松地在组织中分发更高版本。
  11. 利用有关分页报表的容量规划文档。

迁移阶段

准备好 Power BI 环境和报表之后,就可以开始“迁移”阶段了

有两种迁移选项:手动和自动。 手动迁移适用于少量报表或迁移前需要修改的报表。 自动迁移适用于大量报表的迁移。

手动迁移

任何具有访问报表服务器实例和 Power BI 工作区的限的人都可手动地将报表迁移到 Power BI。 下面是需要遵循的步骤:

  1. 打开包含要迁移的报表的报表服务器门户。
  2. 下载每个报表定义,将 .rdl 文件保存在本地。
  3. 打开最新版本的 Power BI 报表生成器,并使用 Microsoft Entra ID 凭据连接到Power BI 服务。
  4. 在 Power BI 报表生成器中打开每个报表,然后:
    1. 验证所有数据源和数据集是否都嵌入到了报表定义中,以及它们是否是受支持的数据源
    2. 预览报表以确保其正确呈现。
    3. 选择“发布”,然后选择“Power BI 服务” 。
    4. 选择要保存报表的工作区。
    5. 确认报表已保存。 如果报表设计中的某些功能尚不受支持,则保存操作会失败。 你会收到原因的通知。 然后,你需要修改报表设计,并再次尝试保存。

自动迁移

自动迁移有三种选择。 可用工具如下:

  • 有关 Power BI 报表服务器和 SQL Server 2022,请参阅将 .rdl 文件发布到 Power BI
  • 对于更低版本的 Reporting Services,请使用 GitHub 中的 RDL 迁移工具
  • Power BI 报表服务器、Reporting Services 和 Power BI 的公开可用的 API

你还可使用公开可用的 Power BI 报表服务器、Reporting Services 和 Power BI API 来自动迁移内容。 虽然 RDL 迁移工具已经使用了这些 API,但是你可以开发适合你具体需求的自定义工具。

有关 API 的详细信息,请参阅:

迁移后阶段

成功完成迁移后,就可以进入迁移后阶段了。 此阶段包括完成一系列迁移后任务,以确保一切正常有效地运行。

为嵌入数据集设置查询超时

可在定义嵌入数据集时在报表创作的过程中指定查询超时值。 超时值随报表一起存储,它存储在报表定义的 Timeout 元素中。

配置数据源

将报表迁移到 Power BI 之后,需要确保正确设置其数据源。 它可以包括分配给网关数据源,以及安全地存储数据源凭据。 RDL 迁移工具不会执行这些操作。

查看报表性能

我们强烈建议你完成以下操作,以确保获得尽可能最佳的报表用户体验:

  1. Power BI 支持的每个浏览器中测试报表,以确认报表呈现正确。
  2. 运行测试以比较报表服务器和 Power BI 服务中的报表呈现时间。 检查 Power BI 报表是否能够在可接受的时间内呈现。
  3. 对于长时间呈现的报表,请考虑让 Power BI 将它们作为带有报表附件的电子邮件订阅传递给报表用户。
  4. 对于基于 Power BI 语义模型的 Power BI 报表,请查看模型设计,以确保它们已完全优化。

协调问题

迁移后阶段对于协调任何问题以及解决任何性能问题都至关重要。 将分页报表工作负载添加到容量中可能会导致分页报表和存储在容量中的其他内容的性能降低

有关本文的详细信息,请参阅以下资源:

Power BI 合作伙伴可帮助你的组织成功完成迁移过程。 若要吸引合作伙伴,请访问 Microsoft Power BI 合作伙伴门户