创建并使用 Power BI 中的 R 视觉对象

适用范围: Power BI Desktop Power BI 服务

R 视觉对象暂时只能在 Power BI Desktop 中创建,然后发布到 Power BI 服务。 要详细了解如何创建 R 视觉对象,请参阅使用 R 创建 Power BI 视觉对象

在 Power BI 服务中查看 R 视觉对象

Power BI 服务支持查看使用 R 脚本创建的视觉对象并与之交互。 使用 R 脚本创建的视觉对象通常称为 R 视觉对象 ,它可以借助 R 丰富的分析和可视化功能来显示高级数据成型和分析(如预测)。

注意

R 编程语言是统计学家、数据科学家和业务分析师使用最广泛的一种编程语言。 R 语言有一个开放源代码社区,该社区提供超过 7,000 个附加包以及广泛使用的 R 用户组。

R 视觉对象在 Power BI Desktop 报表中创建,例如下图所示的报表。

Desktop report with two visuals.

Power BI Desktop 中生成报表后,便可将包含一个或多个 R 视觉对象的报表发布到 Power BI 服务。

在该服务中,并非所有 R 程序包都受支持。 有关 Power BI 服务当前支持的程序包的列表,请参阅本文末尾的“支持的程序包”。

你可以下载这个包含数个 R 视觉对象的 Power BI Desktop 示例文件(.pbix 文件),以了解其工作原理并进行试验。

对于在 Power BI Desktop 中创建然后发布到 Power BI 服务的 R 视觉对象,其行为通常与 Power BI 服务中的任何其他视觉对象类似。 你可以与之交互、对其进行筛选、切片,或与他人共享。 但是与其他视觉对象不同,R 视觉对象无法显示工具提示,而且无法用于筛选其他视觉对象。

从下图中可以看出,Power BI 服务中的 R 视觉对象的外观和行为很大程度上都与任何其他视觉对象类似。 用户无需了解创建该视觉对象的基础 R 脚本。

Screenshot of the report page in the Power BI service.

R 脚本安全性

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

当脚本作者在其自己的计算机上运行脚本时,这些风险主要存在于创作阶段。

Power BI 服务应用了 沙盒 技术,可使用户和服务远离安全风险。

这种沙盒方法会对在 Power BI 服务中运行的 R 脚本施加某些限制,例如访问 Internet,或者访问创建 R 视觉对象不要求的其他资源。

R 脚本错误体验

如果 R 脚本发生错误,不会绘制 R 视觉对象,并且将显示一条错误消息。 若要查看该错误的详细信息,请从画布上的 R 视觉对象错误中选择“查看详细信息”,如下图所示。

Screenshot showing an R visual error message.

再举一个例子,下图显示的是当 R 脚本因为在 Azure 中缺少某个 R 程序包而无法正常运行时出现的错误消息。

Screenshot showing a runtime error.

许可

R 视觉对象需要 Power BI Pro 或者 Premium Per User (PPU) 许可证才能在报表中呈现并进行刷新、筛选和交叉筛选。 若要详细了解 Power BI Pro 许可证及其与免费许可证的区别,请参阅 Power BI Pro 内容 - 它是什么?

Power BI 的免费用户只能使用在 Premium 工作区中与其共享的磁贴。 有关高级版的详细信息,请参阅购买 Power BI Pro来获取更多信息。

下表介绍了基于授权的 R 视觉对象功能。

在 Power BI Desktop 中创作 R 视觉对象 使用 P 视觉对象创建 Power BI 服务报表 查看报表中的 R 视觉对象
来宾 (Power BI Embedded) 支持 不支持 仅在高级容量/Azure 容量中受支持
非托管租户(域未验证) 支持 不支持 不支持
具有免费许可证的托管租户 支持 不支持 仅高级容量中受支持
具有 Pro 或者 PPU 许可证的托管租户 支持 受支持 支持

R 程序包概述

R 程序包是以定义明确的格式组合的 R 函数、数据和已编译代码的集合。 安装 R 后,会生成标准的程序包集,其他程序包可供下载和安装。 安装后,必须将 R 程序包加载到要使用的会话中。 免费 R 程序包的主要源是 CRAN,即 Comprehensive R Archive Network

Power BI Desktop 可以使用任意类型的 R 程序包,且没有任何限制。 可以自行安装 R 程序包用于 Power BI Desktop(例如,使用 RStudio IDE)。

本文中介绍的“支持的程序包”部分中的程序包支持“Power BI 服务”中的 R 视觉对象。 如果在支持的程序包列表中未找到所需的程序包,可以请求获得所需程序包的支持。 有关详细信息,请参阅 Power BI 服务中的 R 包来了解如何请求支持。

R 程序包要求和限制

R 程序包存在大量要求和限制:

  • Power BI 服务支持带有免费和开源软件许可证(例如 GPL-2、GPL-3、MIT+ 等)的 R 包。

  • Power BI 服务支持已在 CRAN 发布的程序包。 此服务不支持专用或自定义 R 包。 我们鼓励用户请求在 Power BI 服务中提供其专用包之前,先在 CRAN 上提供这些包。

  • Power BI Desktop 具有两种 R 程序包变体:

    • 对于 R 视觉对象,可以安装任何包(包括自定义 R 包)。
    • 对于自定义 R 视觉对象,仅支持在自动安装包时使用公共 CRAN 包。
  • 出于安全和隐私考虑,服务当前不支持通过万维网提供客户端到服务器查询的 R 程序包(例如 RgoogleMaps)。 系统会阻止联网进行此类尝试。 有关详细信息,请参阅 Power BI 服务中的 R 包来获取支持和不受支持的 R 包列表。

  • 纳入新的 R 包的审批流程具有一系列的依赖项;需要在服务中安装的某些依赖项不受支持。

支持的程序包:

对于受支持的 R 包的长列表(以及不受支持的包的短列表),请参阅以下文章:

注意事项和限制

  • R 视觉对象支持仅限于在了解支持哪些 R 程序包中标识的包。 目前不提供对自定义程序包的支持。

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

  • 如果 R 视觉对象的输入语义模型的列包含长度超过 32766 个字符的字符串值,则该值将被截断。

  • 所有 R 视觉对象均以 72 DPI 显示。

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

  • 如果 R 视觉对象计算时间超过 60 秒,则脚本将超时并显示错误。

  • R 视觉对象在数据更新、筛选和突出显示时进行刷新。 但图像本身不可交互,且不支持工具提示。

  • R 视觉对象会对突出显示其他视觉对象做出响应,但你无法选择 R 视觉对象中的元素来交叉筛选其他视觉对象。

  • R 视觉对象目前不支持 时间 数据类型。 请改为使用日期/时间。

  • 使用“发布到 Web”时,不会显示 R 视觉对象。

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

  • R 视觉对象不随报表一起打印。

  • Analysis Services 的 DirectQuery 模式不支持 R 视觉对象。

  • R 视觉对象可以将文本标签转化为图形元素。 在 Power BI 服务中这样做需要执行以下额外步骤:

    • 将以下行添加到 R 脚本的开头处:

      powerbi_rEnableShowText = 1

  • 中文、日文和韩文字体需要执行以下所有步骤才能在 Power BI 服务中正常运行:

    1. 安装 R 程序包 showtext 及其所有依赖项。 可运行以下脚本来安装它:

      install.packages("showtext")

    2. 将以下行添加到 R 脚本的开头处:

      powerbi_rEnableShowTextForCJKLanguages =  1