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关系的处理性能.关系是数据分析 ...
随机推荐
- (一二七)NSURLSession的基本用法 下载与数据获取
简介 NSURLSession是苹果官方提供的一系列网络接口库,使用他们可以轻松实现下载和数据获取等任务.在上一篇文章中,我们介绍了使用NSURLConnection下载文件和断点续传的功能,实现起来 ...
- Dynamics CRM 报表导出EXCEL 列合并问题的解决方法
CRM中的报表导出功能提供了多种格式,excel就是其中之一,这次遇到的问题是导出后打开excel列明合并的问题,具体如下看着相当不美观,物料名称字段占了AB两列,品牌占了CD两列等等. 该问题的源头 ...
- Android的GridView的用法-android学习之旅(二十七)
Gridview简介 GridView和ListView有相同的父类AbsListView.他和ListView唯一的区别是Gridview可以显示多列,如果不设置列数,就默认显示一列,变成了List ...
- 用SpriteBuilder简化"耕牛遍地走"的动画效果(四)
写到这突然有童鞋质疑,你这哪里是牛,分明是熊嘛! 仔细看了下,还真像牛.反正是这个意思.怪本猫猪牛熊不分,好在道理是一样的. 下面继续,言归正传. 添加一个空白的touchBegan方法,如果没有这个 ...
- HTML5 Web Storage 特性
原文地址: Using HTML5 Web Storage 原文日期: 2010年06月28日 翻译日期: 2013年08月12日 当下Web开发领域最火爆的词语当属 HTML5.HTML5标准的新特 ...
- gcov 统计 inline 函数
gcov 统计 inline 函数 (金庆的专栏) gcov可以统计 inline 函数,可是实际使用中碰到统计次数总是为0的现象. 假设类A的头文件为 A.h, 实现文件为 A.cpp. A 有几 ...
- Linux信号实践(1) --Linux信号编程概述
中断 中断是系统对于异步事件的响应, 进程执行代码的过程中可以随时被打断,然后去执行异常处理程序; 计算机系统的中断场景:中断源发出中断信号 -> CPU判断中断是否屏蔽屏蔽以及保护现场 -&g ...
- 关于Debug和Release之本质区别的讨论
一.Debug 和 Release 编译方式的本质区别 Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序.Release 称为发布版本,它往往是进行了各种优化 ...
- 08_Android中的SimpleAdapter的使用
1 目的界面 2.编写Android清单文件 <?xml version="1.0" encoding="utf-8"?> <manif ...
- Rust语言之HelloWorld
Rust语言之HelloWorld 参考文档: http://doc.crates.io/guide.html 1 什么是Cargo 相当于maven/ant之于java, automake之于c, ...