使用 Power BI Embedded 迁移工具

可以使用 Power BI Embedded 迁移工具将报表从 Power BI 工作区集合复制到 Power BI Embedded。

将内容从工作区集合迁移到 Power BI 服务可与当前解决方案并行进行,不会造成任何停机。

限制

  • 无法下载推送的数据集,需要使用 Power BI 服务的 Power BI REST API 重新创建。
  • 2016 年 11 月 26 日前导入的 PBIX 文件将无法下载。

下载

可以从 GitHub 下载迁移工具示例。 可以下载存储库的压缩文件,也可以将其复制到本地。 下载完成后,可以在 Visual Studio 中打开 powerbi-migration-sample.sln,以生成和运行迁移工具。

迁移计划

迁移计划只是元数据,为 Power BI 工作区集合中的内容编目,并描述如何将这些内容发布到 Power BI Embedded。

开始新的迁移计划

迁移计划是 Power BI 工作区集合中提供的、以后需要移到 Power BI Embedded 的元数据。 迁移计划存储为 XML 文件。

首先需要新建一个迁移计划。 请执行以下操作新建迁移计划。

  1. 选择“文件”>“新建迁移计划” 。

    New Migration Plan

  2. 在“选择 Power BI 工作区集合资源组”对话框中,选择“环境”下拉菜单,并选择“生产”。

  3. 系统将提示你进行登录。 请使用 Azure 订阅登录名。

    重要

    不是用来登录到 Power BI 的 Office 365 组织帐户。

  4. 选择存储 Power BI 工作区集合资源的 Azure 订阅。

    Select your Azure subscription

  5. 在订阅列表下,选择包含工作区集合的“资源组”,然后选择“选择” 。

    Select the resource group

  6. 选择“分析”。 此操作可以得出 Azure 订阅中的项的清单,方便开始执行计划。

    Select Analyze button

    注意

    分析过程可能需要几分钟时间,具体取决于工作区集合的数量和工作区集合中存在内容的多少。

  7. “分析”完成后,系统会提示保存迁移计划。

至此,已经将迁移计划连接到 Azure 订阅。 阅读以下内容,了解执行迁移计划的流程。 这包括“分析和规划迁移”、“下载”、“创建组”和“上传”。

保存迁移计划

可以保存迁移计划供以后使用。 为此需要创建一个 XML 文件,在文件中包含迁移计划的所有信息。

执行以下操作保存迁移计划。

  1. 选择“文件”>“保存迁移计划” 。

    Save migration plan menu option

  2. 命名文件或使用生成的文件名,然后选择“保存”。

打开现有的迁移计划

可以打开保存的迁移计划以继续执行迁移。

执行以下操作打开已保存的迁移计划。

  1. 选择“文件”>“打开现有的迁移计划” 。

    Open existing migration plan menu option

  2. 选择迁移文件,然后选择“打开”。

步骤 1:分析和规划迁移

“分析和规划迁移”选项卡提供 Azure 订阅的资源组中当前内容的视图。

Analyze & Plan Migration tab

此处以 SampleResourceGroup 为例。

PaaS 拓扑

这是“资源组”>“工作区集合”>“工作区”的列表。 资源组和工作区集合将显示友好名称。 工作区将显示 GUID。

列表中的项还会以 (#/#) 格式显示带颜色的数值。 数值表示可以下载的报表数。

黑色表示所有报表都可以下载。 红色表示有报表都不可下载。 左边的数值表示可以下载的报表总数。 右边的数值表示组内报表的总数。

可以选择 PaaS 拓扑内的某一项,然后在报表部分查看报表。

报表

报表部分将列出可用的报表,并指示该报表是否可下载。

List of reports within Power BI Workspace Collections

目标结构

“目标结构”可指示工具将内容下载到哪里,以及如何上传内容。

下载计划

系统会自动创建路径。 可以根据需要更改路径。 如果确实更改路径,需要选择“更新路径”。

此操作不会实际执行下载。 它只指定报表将要下载到的位置。

上传计划

在此处,可以指定要在 Power BI 服务中创建的应用工作区所用的前缀。 之后,该前缀将作为 Azure 中的工作区的 GUID。

Specify group name prefix

此操作不会实际在 Power BI 服务中创建组。 它只会定义组的命名结构。

如果更改了前缀,则需要选择“生成上传计划”。

可以根据需要右键单击某个组,然后在上传计划中直接选择重命名该组。

Rename group context menu option

注意

组名称不能包含空格或无效字符。

步骤 2:下载

在“下载”选项卡上可以看到报表和关联元数据的列表。 可以查看现在的导出状态和以前的导出状态。

Download tab

有两个选项。

  • 选择特定报表,然后选择“下载选定报表”。
  • 选择“全部下载”。

Download selected button

下载成功后会显示“完成”状态,该状态表示存在 PBIX 文件。

下载完成后,选择“创建组”选项卡。

步骤 3:创建组

下载可用报表后,可以转到“创建组”选项卡。此选项卡将根据已创建的迁移计划在 Power BI 服务内创建应用工作区。 这会使用在“分析和规划迁移”所述的“上传”选项卡中提供的名称创建应用工作区。

Create Groups tab

若要创建应用工作区,可以选择“创建选定组”或“创建所有缺少的组”。

选择任何一个选项后,系统都将提示你进行登录。 请使用想要在其中创建应用工作区的 Power BI 服务的凭据。

Power BI sign in screen

这会在 Power BI 服务中创建应用工作区, 但不会将报表上传到应用工作区。

可以通过登录到 Power BI 并验证应用工作区是否存在,来验证是否已创建该工作区。 这时可以看到工作区中不存在任何内容。

App workspace within Power BI service

创建工作区后,可以移到“上传”选项卡。

步骤 4:上传

在“上传”选项卡上进行操作可以将报表上传到 Power BI 服务。 在此可以看到之前在“下载”选项卡上下载的一系列报表,以及基于迁移计划的目标组名称。

Upload tab

可以上传选定报表,也可以上传所有报表。 也可以将上传状态重置为重新上传项。

如果存在具有相同名称的报表,可以选择要执行的操作。 可以选择“中止”、“忽略”和“覆盖” 。

Option dropdown for what to do if report exists

Upload selected results

重复的报表名称

如果某个报表与之前的报表名称相同,但你知道其内容不同,则需要更改此报表的“TargetName”。 可以通过手动编辑迁移计划 XML 来更改名称。

需要关闭迁移工具进行更改,然后重新打开工具和迁移计划。

在上面的示例中,有一个复制报表失败,其原因是存在具有相同名称的报表。 如果查看迁移计划 XML,可以看到以下内容。

<ReportMigrationData>
    <PaaSWorkspaceCollectionName>SampleWorkspaceCollection</PaaSWorkspaceCollectionName>
    <PaaSWorkspaceId>4c04147b-d8fc-478b-8dcb-bcf687149823</PaaSWorkspaceId>
    <PaaSReportId>525a8328-b8cc-4f0d-b2cb-c3a9b4ba2efe</PaaSReportId>
    <PaaSReportLastImportTime>1/3/2017 2:10:19 PM</PaaSReportLastImportTime>
    <PaaSReportName>cloned</PaaSReportName>
    <IsPushDataset>false</IsPushDataset>
    <IsBoundToOldDataset>false</IsBoundToOldDataset>
    <PbixPath>C:\MigrationData\SampleResourceGroup\SampleWorkspaceCollection\4c04147b-d8fc-478b-8dcb-bcf687149823\cloned-525a8328-b8cc-4f0d-b2cb-c3a9b4ba2efe.pbix</PbixPath>
    <ExportState>Done</ExportState>
    <LastExportStatus>OK</LastExportStatus>
    <SaaSTargetGroupName>SampleMigrate</SaaSTargetGroupName>
    <SaaSTargetGroupId>6da6f072-0135-4e6c-bc92-0886d8aeb79d</SaaSTargetGroupId>
    <SaaSTargetReportName>cloned</SaaSTargetReportName>
    <SaaSImportState>Failed</SaaSImportState>
    <SaaSImportError>Report with the same name already exists</SaaSImportError>
</ReportMigrationData>

建议更改失败项的 SaaSTargetReportName 名称。

<SaaSTargetReportName>cloned2</SaaSTargetReportName>

然后在迁移工具中重新打开该计划,并上传之前失败的报表。

返回 Power BI 后可以看到,报表和数据集已上传到应用工作区中。

Report list within the Power BI service

上传本地 PBIX 文件

可以上传本地版本的 Power BI Desktop 文件。 需要关闭工具、编辑 XML 并在“PbixPath”属性中输入本地 PBIX 的完整路径。

<PbixPath>[Full Path to PBIX file]</PbixPath>

编辑 xml 后,在迁移工具中重新打开计划并上传报表。

DirectQuery 报表

需要进行更新,以便更新 DirectQuery 报表的连接字符串。 可在 powerbi.com 中执行此操作,或以编程方式查询来自 Power BI Embedded (Paas) 的连接字符串。 有关示例,请参阅从 PaaS 报表提取 DirectQuery 连接字符串

然后,可以更新 Power BI 服务中数据集的连接字符串,并设置数据源的凭据。 请参阅以下示例,了解如何执行此操作。

后续步骤

将报表从 Power BI 工作区集合迁移到 Power BI Embedded 之后,接下来可以更新应用程序中,开始在此应用工作区中嵌入报表。

有关详细信息,请参阅如何将 Power BI 工作区集合内容迁移到 Power BI Embedded

更多问题? 尝试咨询 Power BI 社区