PowerBI开发 第十篇:R 脚本
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
Create Power BI visuals using R
PowerBI开发 第十篇:R 脚本的更多相关文章
- PowerBI开发 第八篇:查询参数
在PowerBI Desktop中,用户可以定义一个或多个查询参数(Query Parameter),参数的功能是为了实现PowerBI的参数化编程,使得Data Source的属性.替换值和过滤数据 ...
- PowerBI开发 第十二篇:钻取
钻取是指沿着层次结构(维度的层次)查看数据,钻取可以变换分析数据的粒度.钻取分为下钻(Drill-down)和上钻(Drill-up),上钻是沿着数据的维度结构向上聚合数据,在更大的粒度上查看数据的统 ...
- PowerBI开发 第四篇:DAX表达式
DAX 表达式主要用于创建度量列(Measure),度量值是根据用户选择的Filter和公式,计算聚合值,DAX表达式基本上都是引用对应的函数,函数的执行有表级(Table-Level)上下文和行级( ...
- PowerBI开发 第十三篇:增量刷新
PowerBI 将要解锁增量刷新(Incremental refresh)功能,这是一个令人期待的更新,使得PowerBI可以加载大数据集,并能减少数据的刷新时间和资源消耗,该功能目前处于预览状态,只 ...
- PowerBI开发 第三篇:报表设计技巧
最近做了几个PowerBI报表,对PowerBI的设计有了更深的理解,对数据的塑形(sharp data),不仅可以在Data Source中实现,例如在TSQL查询脚本中,而且可以在PowerBI中 ...
- PowerBI开发 第四篇:DAX 表达式基础
DAX 表达式主要用于创建度量列(Measure),度量值是根据用户选择的Filter和公式,计算聚合值,DAX表达式基本上都是引用对应的函数,函数的执行有表级(Table-Level)上下文和行级( ...
- PowerBI开发 第七篇:数据集和数据刷新
PowerBI报表是基于数据分析的引擎,数据真正的来源(Data Source)是数据库,文件等数据存储媒介,PowerBI支持的数据源类型多种多样.PowerBI Service(云端)有时不直接访 ...
- PowerBI开发 第十一篇:报表设计技巧(更新)
PowerBI版本在持续的更新,这使得报表设计能够实现更多新的功能,您可以访问 PowerBI Blog查看PowerBI的最新更新信息,本文总结了PowerBI新版本的重要更新和设计技巧. 我的Po ...
- PowerBI开发 第五篇:关系和交互
PowerBI 使用 内存的列式数据库 VertiPaq,用于对已发布的数据集进行数据压缩和快速处理,能够使PowerBI报表执行脱机访问,面向列的处理,高度优化对1:N关系的处理性能.关系是数据分析 ...
随机推荐
- Dynamics CRM 窗体Javascript获取时间字段值的准确转换
本篇延续上篇博文继续时间字段的转化实验,本篇讲的是在窗体Javascript中获取及更新时间字段的具体写法,是否需要进行时制的转化,先看下通过ODATA取到的时间字段值 当然取出来看格式就知道是不能直 ...
- android git上开源的项目收藏
本文为那些不错的Android开源项目第一篇--个性化控件(View)篇,主要介绍Android上那些不错个性化的View,包括ListView.ActionBar.Menu.ViewPager.Ga ...
- 最简单的视频编码器:基于libx264(编码YUV为H.264)
===================================================== 最简单的视频编码器系列文章列表: 最简单的视频编码器:编译 最简单的视频编码器:基于libx ...
- sql中奇怪的sum(1),sum(2),count(1),count(6),count(*):统计总数
sql的统计函数 sql统计函数有 count 统计条数,配合group用 sum 累加指定字段数值 但注意sum(1)就特殊 sum(1)等同于count(*) sum(1)统计个数,功能和coun ...
- Deploying Customizations in Oracle E-Business Suite Release 12.2
DeployingCustomizations in Oracle E-Business Suite Release 12.2 This documentdescribes how to deploy ...
- iOS中 UIWebView加载网络数据 技术分享
直奔核心: #import "TechnologyDetailViewController.h" #define kScreenWidth [UIScreen mainScreen ...
- Android Studio 使用 Gradle 打包 Jar
Android Studio 打 Jar 包一直是一个麻烦的事,按照网上现有的教程,打包一个混淆的 jar 需要完成下列步骤: 1.将 plugin 修改为 library 后 build 出 aar ...
- UNIX环境高级编程——管道和FIFO限制
系统加于管道和FIFO的唯一限制为: OPEN_MAX 一个进程在任意时刻打开的最大描述符数: PIPE_BUF 可原子的写往一个管道或FIFO的最大数据量. OPEN_MAX的值 ...
- 【Android 应用开发】 FastJson 使用详解
博客地址 :http://blog.csdn.net/shulianghan/article/details/41011605 fastjson 源码地址 : -- GitHub : https:// ...
- Mybatis插件原理分析(二)
在上一篇中Mybatis插件原理分析(一)中我们主要介绍了一下Mybatis插件相关的几个类的源码,并对源码进行了一些解释,接下来我们通过一个简单的插件实现来对Mybatis插件的运行流程进行分析. ...