Power BI 微课堂 | 第57课:使用 R 创建 Power BI 视觉对象

發布於: 2025-02-06

今天,我们继续学习:使用 R 创建 Power BI 视觉对象。了解如何通过 Power BI 与 R 脚本的集成来快速实现高级分析和可视化效果。


安装 R

借助 Power BI Desktop,可使用 R 将数据可视化。R 是用于统计计算和图形的一种语言和环境。目前,R 视觉对象只能在 Power BI Desktop 中创建,然后发布到 Power BI 服务。

但在默认情况下,Power BI Desktop 既不包括,也不会部署或安装 R 引擎。若要在 Power BI Desktop 中运行 R 脚本,必须在本地计算机上单独安装 R。

你可以从很多位置免费下载并安装 R,比如 CRAN 存储库。Power BI Desktop 中当前版本的 R 脚本在安装路径中支持 Unicode 字符以及空格(空字符)。


在 Desktop 中启用 R 视觉对象

安装 R 后,Power BI Desktop 会自动将其启用。若要验证 Power BI Desktop 是否在正确位置启用了 R,请执行以下步骤:

在 Power BI Desktop 菜单中,选择“文件”>“选项和设置”>“选项” 。在“选项”页左侧的“全局”下,选择“R 脚本” 。

在“R 脚本选项”下,验证在“检测到的 R 主目录”中是否指定了本地 R 安装,并验证其是否正确反映了你想要 Power BI Desktop 使用的本地 R 安装 。

在下图中,R 的本地安装的路径为 C:\Program Files\R\R-4.4.2。验证 R 安装后,即可开始创建 R 视觉对象。


在 Desktop 中创建 R 视觉对象

在 Power BI Desktop 中,首先需要“打开”本期微课堂的示例工作簿,并创建新的页面。如需跟随操作,请通过页面右侧按钮下载。

特别需要注意的是,本示例要求提前在 R 中安装 corrplot 包,否则可能会在后续跟随操作时出现报错。

在“可视化效果”窗格中选择“R 视觉对象”图标以添加 R 视觉对象 。

在出现的“启用脚本视觉对象”窗口中,选择“启用” 。

向报表添加 R 视觉对象后,Power BI Desktop 将进行以下更改:

  • 占位符 R 视觉对象图像位于报表画布上。

  • R 脚本编辑器 位于中央窗格底部边缘处。

在“可视化效果”窗格的“值”部分中,拖动要在 R 脚本中使用的“字段”窗格中的字段,就像处理其他视觉对象一样 。此外,还可以在“字段”窗格中直接选择字段 。

只有已添加到“值”部分的字段才可供 R 脚本使用 。你可以在 R 脚本编辑器中处理 R 脚本的同时,添加新字段,或从“值”部分删除不必要的字段 。然后,Power BI Desktop 会自动检测已添加或已删除的字段。

请注意,R 视觉对象的默认聚合类型是“不汇总” 。

现在。你可以使用并选择用来创建绘图的数据:

  • 由于选择了字段,R 脚本编辑器将在编辑器窗格顶部旁的灰色部分生成这些字段的支持 R 脚本绑定代码 。

  • 如果删除一个字段,R 脚本编辑器将自动删除该字段的支持代码 。

在下图示例中,我们选择了三个字段:Horse Power、gear 和 drat。由于这些选择,R 脚本编辑器将生成总结如下的绑定代码:

  • 创建名为“语义模型”的数据帧,该数据帧由用户选择的不同字段组成。

  • 默认聚合是“不汇总” 。

  • 类似于表格视觉对象,字段将进行分组,并且重复行只出现一次。

请注意,在某些情况下,你可能不希望进行自动分组,或者可能希望所有行都出现,包括重复项。在这种情况下,向语义模型添加索引字段,可以使所有行被视为唯一行并阻止分组。

生成的数据帧称为“语义模型”,且可通过相应所选列名称访问所选列。例如,gear 字段可通过在 R 脚本中添加 dataset$gear 进行访问。对于具有空格或特殊字符的字段,请使用单引号。

借助所选字段自动生成的数据帧,就可以编写 R 脚本,Power BI Desktop 会将其绘制到 R 默认设备。完成脚本后,选择“R 脚本编辑器”标题栏右侧的“运行脚本”图标 。

选择“运行脚本”图标后,Power BI Desktop 会识别绘图,并在画布上予以呈现。由于该过程是在本地 R 安装上执行,请确保安装了所需的 R 包。

当以下任一事件发生时,Power BI Desktop 将重新绘制视觉对象:

  • 可以在“R 脚本编辑器”标题栏中选择“运行脚本”图标 。

  • 数据刷新、筛选或突出显示会导致数据更改。

下图显示相关绘图代码的示例,该示例绘制了不同类型汽车特征间的关联。

若要获取可视化效果的较大视图,可以取消选择 R 视觉对象或尽量缩小“R 脚本编辑器”。如同 Power BI Desktop 中的其他视觉对象,你可以在右侧的圆环图视觉对象中选择特定值(如“自动”或“手动”)来交叉筛选相关绘图。

修改 R 脚本,自定义视觉对象,并通过向绘图命令添加参数来利用 R 的强大功能。

原始的绘图命令如下:

corrplot(M, method = "color", tl.cex=0.6, tl.srt = 45, tl.col = "black")

PS:这行代码是让 R 执行使用 corrplot 包绘制 相关性矩阵热图 的命令。

更改 R 脚本,以确保绘图命令如下所示:

corrplot(M, method = "circle", tl.cex=0.6, tl.srt = 45, tl.col = "black", type= "upper", order="hclust")

PS:这行代码使用 corrplot 生成 相关矩阵热图,相比之前的代码,它新增了一些参数,让图表更清晰、可读性更强。

结果是,R 视觉对象现在绘制圆形,只考虑了上半部分,对矩形图重新排序以集中相关特征。

执行导致错误的 R 脚本时,画布(而不是 R 视觉对象绘图)上将显示错误消息。有关错误详细信息,请从 R 视觉对象错误中选择“参阅详细信息” 。


R 脚本安全性

R 视觉对象是根据 R 脚本创建的,其中可能包含具有安全风险或隐私风险的代码。

当尝试查看 R 视觉对象或首次与其交互时,用户会看到一条安全警告消息。仅当你信任作者和来源,或者在查看并了解 R 脚本之后,才启用 R 视觉对象。


注意事项和疑难解答

Power BI Desktop 中的 R 视觉对象有以下限制:

  • 数据大小:R 视觉对象用于绘制的数据仅限 150,000 行。如果选择了 150,000 行以上,则只会使用前 150,000 行,且在图像上显示一条消息。

  • 输出大小:R 视觉对象的输出大小限制为 2 MB。

  • 分辨率:所有 R 视觉对象均以 72 DPI 显示。

  • 绘图设备:仅支持绘制到默认设备上。

  • 计算时间:如果 R 视觉对象计算时间超过五分钟,则会导致超时错误。

  • 关系:如同其他 Power BI Desktop 视觉对象,如果选择的不同表中数据字段间没有定义关系,则会发生错误。

  • 刷新:R 视觉对象在数据更新、筛选和突出显示时进行刷新。 但是,图像本身不是交互的并且不能为交叉筛选的源。

  • 突出显示:如果突出显示其他视觉对象,但你不能选择 R 视觉对象中的元素以进行其他元素的交叉筛选,R 视觉对象会进行响应。

  • 显示设备:只有绘制到 R 默认显示设备的绘图会正确地显示在画布上。 避免显式使用不同的 R 显示设备。

  • 列重命名:R 视觉对象不支持重命名输入列。 在脚本执行期间,将按列的原始名称对其进行引用。

  • RRO 安装:在此版本中,32 位版本的 Power BI Desktop 不会自动标识 RRO 安装;必须在“选项和设置”>“选项”>“R 脚本”中手动提供 R 安装目录的路径 。



以上就是关于「使用 R 创建 Power BI 视觉对象」的全部内容。感谢您的耐心阅读,更多 Power BI 学习资源,请持续关注优阅达大数据生态。