R是一种专门用于数据分析和统计的脚本语言,广泛应用在每一个需要统计和数据分析的领域。PowerBI支持R脚本,只不过,PowerBI Desktop默认没有安装R。在使用R脚本之前,必须向PowerBI Desktop中安装R引擎。用户可以使用R脚本加载数据、对数据进行转换和处理、使用R脚本图形化显示数据,以发现数据中隐藏的insight。PowerBI可以直接调用R外部IDE,提供更好的编程体验。

一,安装R

在使用R之前,用户必须向本地主机中安装R引擎。安装的过程非常简单,只需要点击File菜单,选择“Options and settings”,打开“Options”窗口,切换到“R scripting”选项卡,安装提示安装R引擎和R外部IDE。

R引擎安装的根目录由“Detected R home directories”指定,用于R编程的外部IDE由“Detected R IDEs”指定,如下图,R外部的IDE是R Studio,R根目录是:C:\Program Files\R\R-3.4.3

二,使用R脚本加载数据

PowerBI执行R脚本,对数据源进行加工和处理,把最终的数据加载到PowerBI中,一个查询(Query)代表一个数据集,这是加载数据的一种方式。

点击“Get Data”,从Other分类中,选择R Script,表示从R脚本中获取数据。

点击该图标,打开一个R Script的窗体,输入R脚本,该脚本最终会输出一个数据框,例如:

三,使用R 转换数据(Transfrom)

在查询编辑器(Query Editor)中,切换到转换(Transform)菜单,用户可以使用“Run R Script”菜单对数据进行转换加工,以生成新的Query,R数据转换的图标如下图:

用户编写R脚本对现有的数据进行转换操作,如下图,PowerBI自动创建一个dataset变量,该变量是数据框类型,作为转换的输入数据;R脚本转换对dataset进行数据处理,最终生成适合业务逻辑的输出数据,输出数据的变量名是output,类型是数据框。

示例脚本如下图:

四,使用R显示数据

在Visualization列表中,选择 R Script Visual,图标如下:

用户启用R脚本之后,向R脚本编辑器中输入字段,例如,向R脚本编辑器中插入两个字段x1和x2,该字段作为R visual的输入字段。

PowerBI 自动创建数据框dataset,移除重复的数据行。用户编写自定义的代码,对输入数据dataset进行处理和重塑,最后编写绘图代码显示数据,例如:

一般来说,R脚本包含两部分:

  • 用于处理数据的代码;
  • 用于绘图的代码;

参考文档:

How to Import Data from R Scripts into Power BI

Using R in Query Editor

Create Power BI visuals using R

PowerBI开发 第十篇:R 脚本的更多相关文章

  1. PowerBI开发 第八篇:查询参数

    在PowerBI Desktop中,用户可以定义一个或多个查询参数(Query Parameter),参数的功能是为了实现PowerBI的参数化编程,使得Data Source的属性.替换值和过滤数据 ...

  2. PowerBI开发 第十二篇:钻取

    钻取是指沿着层次结构(维度的层次)查看数据,钻取可以变换分析数据的粒度.钻取分为下钻(Drill-down)和上钻(Drill-up),上钻是沿着数据的维度结构向上聚合数据,在更大的粒度上查看数据的统 ...

  3. PowerBI开发 第四篇:DAX表达式

    DAX 表达式主要用于创建度量列(Measure),度量值是根据用户选择的Filter和公式,计算聚合值,DAX表达式基本上都是引用对应的函数,函数的执行有表级(Table-Level)上下文和行级( ...

  4. PowerBI开发 第十三篇:增量刷新

    PowerBI 将要解锁增量刷新(Incremental refresh)功能,这是一个令人期待的更新,使得PowerBI可以加载大数据集,并能减少数据的刷新时间和资源消耗,该功能目前处于预览状态,只 ...

  5. PowerBI开发 第三篇:报表设计技巧

    最近做了几个PowerBI报表,对PowerBI的设计有了更深的理解,对数据的塑形(sharp data),不仅可以在Data Source中实现,例如在TSQL查询脚本中,而且可以在PowerBI中 ...

  6. PowerBI开发 第四篇:DAX 表达式基础

    DAX 表达式主要用于创建度量列(Measure),度量值是根据用户选择的Filter和公式,计算聚合值,DAX表达式基本上都是引用对应的函数,函数的执行有表级(Table-Level)上下文和行级( ...

  7. PowerBI开发 第七篇:数据集和数据刷新

    PowerBI报表是基于数据分析的引擎,数据真正的来源(Data Source)是数据库,文件等数据存储媒介,PowerBI支持的数据源类型多种多样.PowerBI Service(云端)有时不直接访 ...

  8. PowerBI开发 第十一篇:报表设计技巧(更新)

    PowerBI版本在持续的更新,这使得报表设计能够实现更多新的功能,您可以访问 PowerBI Blog查看PowerBI的最新更新信息,本文总结了PowerBI新版本的重要更新和设计技巧. 我的Po ...

  9. PowerBI开发 第五篇:关系和交互

    PowerBI 使用 内存的列式数据库 VertiPaq,用于对已发布的数据集进行数据压缩和快速处理,能够使PowerBI报表执行脱机访问,面向列的处理,高度优化对1:N关系的处理性能.关系是数据分析 ...

随机推荐

  1. IDEA阅读Spark源码

    将spark编译成idea-sbt工程 tar -zxvf spark-1.1.0.tgz cd spark-1.1.0 sbt/sbt gen-idea 等待-- 成功后就能以SBT工程的形式导入i ...

  2. UNIX环境高级编程——环境变量表读取/添加/修改/删除

    #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { char* pVal ...

  3. 编译GDAL支持ArcObjects

    编译GDAL支持ArcObjects. 首先修改nmake.opt文件中对应的ArcObjects,修改后的如下所示: #uncomment to use ArcObjects ARCOBJECTS_ ...

  4. 如何在mac OS X中查看Emoji表情的含义

    使用ctrl+空格,在搜索框中搜索 TextEdit程序,其实中文是 文本编辑 程序, 运行,在菜单中选择 编辑->特殊字符 然后可以看到每个图标的说明啦

  5. 【一天一道LeetCode】#374. Guess Number Higher or Lower

    一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 We are ...

  6. C++对C语言register的增强

    register关键字 请求编译器让变量a直接放在寄存器里面,速度快 在c语言中 register修饰的变量 不能取地址,但是在c++里面做了内容 1 register关键字的变化 register关 ...

  7. Xdoclet + Ant自动生成Hibernate配置文件

    在使用Hibernate的时候,过多的Hibernate配置文件是一个让人头疼的问题.最近接触了Xdoclet这个工具.它实际上就是一个自动代码生成的工具,Xdoclet不能单独运行,必须搭配其他工具 ...

  8. myeclipse一直停留在Loading workbench界面上的处理办法

    找到工作目录比如我的叫work,在.metadata中删掉以下两个文 件,再次重启myeclipse走一个! org.eclipse.ui.workbench org.eclipse.ui.workb ...

  9. JAVA之旅(三十)——打印流PrintWriter,合并流,切割文件并且合并,对象的序列化Serializable,管道流,RandomAccessFile,IO其他类,字符编码

    JAVA之旅(三十)--打印流PrintWriter,合并流,切割文件并且合并,对象的序列化Serializable,管道流,RandomAccessFile,IO其他类,字符编码 三十篇了,又是一个 ...

  10. 03-Git常用命令演示、冲突演示

    Git常用命令演示 Git的的思想其实和SVN还是蛮像的,可以参考之前svn文章一起加深了解. 新建一个user2目录,clone下代码. 修改readme.txt git status 可以看到re ...