在 Power Query 编辑器中使用 R

R 语言是一种功能强大的编程语言,许多统计学家、数据科学家和数据分析师都在使用。 可以在 Power BI Desktop 的 Power Query 编辑器中使用 R 来执行以下操作:

  • 准备数据模型。
  • 创建报表。
  • 进行数据清理、高级数据定形和语义模型分析,包括缺失数据补全、预测、聚类分析等。

安装 R

可以从 CRAN 存储库免费下载 R。

安装 mice

作为先决条件,必须在 R 环境中安装 mice 库。 没有 mice,示例脚本代码就不能正常运行。 mice 包实现了一种处理缺失数据的方法。

若要安装 mice 库,请执行以下操作:

  1. 启动 R.exe 程序,例如 C:\Program Files\Microsoft\R Open\R-3.5.3\bin\R.exe

  2. 从 R 提示符运行安装命令:

    install.packages('mice') 
    

在 Power Query 编辑器中使用 R 脚本

为了演示如何在 Power Query 编辑器中使用 R,本示例使用 .csv 文件中包含的股票市场语义模型。

  1. 下载EuStockMarkets_NA.csv 文件。 记下此文件的保存位置。

  2. 将文件加载至 Power BI Desktop。 从“开始”选项卡中,选择“获取数据”>“文本/CSV” 。

    Screenshot shows the Get data option where you can select Text/CSV.

  3. 选择 EuStockMarkets_NA.csv 文件,然后选择“打开”。 CSV 数据显示在“文本/CSV 文件”对话框中

    Screenshot shows the contents of the selected .csv file.

  4. 选择“加载”以从文件加载数据。 Power BI Desktop 加载数据后,新表将显示在“字段”窗格中。

    Screenshot shows data in the Fields pane.

  5. 若要打开 Power Query 编辑器,请在“主页”功能区中选择“转换数据” 。

    Screenshot shows the Home ribbon with Transform data highlighted.

  6. 在“转换”选项卡中,选择“运行 R 脚本” 。 随即显示“运行 R 脚本”编辑器。 第 15 行和第 20 行包含缺失的数据,图像中没有显示的其他行也是。 以下步骤介绍 R 如何为你补全这些行。

    [Screenshot shows Power Query Editor with Run R Script selected.

  7. 对于本示例,请在“运行 R 脚本”窗口的“脚本”框中输入以下脚本代码 。

       library(mice)
       tempData <- mice(dataset,m=1,maxit=50,meth='pmm',seed=100)
       completedData <- complete(tempData,1)
       output <- dataset
       output$completedValues <- completedData$"SMI missing values"
    

    注意

    可能需要覆盖名为“输出”的变量才能正确地创建应用了筛选器的新语义模型

  8. 选择“确定”。 Power Query 编辑器将显示与数据隐私相关的警告。

    Screenshot shows data privacy warning with a Continue option.

  9. 在警告消息中,选择“继续”。 在出现的“隐私级别”对话框中,将“所有数据源”设置为“公共”,以便 R 脚本在 Power BI 服务中正常工作。

    Screenshot shows the Privacy levels dialog with Public privacy selected.

    有关隐私设置及其含义的详细信息,请参阅 Power BI Desktop 隐私级别

  10. 选择“保存”以运行脚本。

    运行该脚本时,会看到以下结果:

    Screenshot of results of R script.

    在显示的表中选择“输出”旁边的“”时,将显示该表,具体如下图所示。

    Screenshot of table results from R script.

    请注意“字段”窗格中名为 completedValues 的新列。 SMI 缺失值列有几个缺少的数据元素。 下一节中将介绍 R 如何处理该问题。

    仅用 5 行 R 脚本,Power Query 编辑器便可通过预测模型填充缺失的值。

根据 R 脚本数据创建视觉对象

现在,我们可以创建一个视觉对象,查看带有 mice 库的 R 脚本代码如何补全缺失的值。

Screenshot shows an R script visual that includes missing values and completed values.

可以将所有已完成的视觉对象保存在一个 Power BI Desktop .pbix 文件中,并在 Power BI 服务中使用数据模型及其 R 脚本。

注意

完成所有步骤后,可以下载一个 .pbix 文件

将 .pbix 文件上传到 Power BI 服务后,需要采取其他步骤来启用服务数据刷新和更新后的视觉对象:

  • 为语义模型启用计划刷新:若要使用 R 脚本为包含语义模型的工作簿启用计划刷新,请参阅配置计划刷新。 本文还包括有关本地数据网关的信息。

  • 安装网关:需要在文件和 R 所在的计算机上安装本地数据网关(个人模式)。 Power BI 服务访问该工作簿并重新呈现所有更新后的视觉对象。 有关详细信息,请参阅在 Power BI 中使用个人网关

注意事项和限制

对包括 R 脚本,在 Power Query 编辑器中创建的查询有一些限制:

  • 所有 R 数据源设置都必须设置为“公开”。 Power Query 编辑器查询中的其他所有步骤也必须是公开的。

    若要获取数据源设置,请在 Power BI Desktop 中选择“文件”>“选项和设置”>“数据源设置” 。

    Screenshot shows the Options and Settings dialog where you can select Data source settings.

    在“数据源设置”对话框中,选择一个或多个数据源,然后选择“编辑权限”。 将“隐私级别”设置为“公开” 。

    Screenshot shows Data source settings dialog where you can edit permissions.

  • 要计划 R 视觉对象或语义模型的刷新,请启用计划的刷新,并在包含工作簿和 R 的计算机上安装本地数据网关(个人模式)。不能使用企业网关刷新 Power Query 中包含 R 脚本的语义模型。

可以使用 R 和自定义查询执行各种操作。 以希望的方式显示数据以浏览和调整。