PowerBI开发 第十篇:R 脚本

R是一种专门用于数据分析和统计的脚本语言,广泛应用在每一个需要统计和数据分析的领域。PowerBI支持R脚本,两者强强结合,使PowerBI的功能更加强大。PowerBI Desktop默认没有安装R,在使用R脚本之前,必须向PowerBI Desktop中安装R引擎。用户可以使用R脚本加载数据、对数据进行转换和处理、使用R脚本图形化显示数据,这意味着,PowerBI对R的支持是深度融合的,在数据处理的各个阶段都能使用R。而且,为了便于开发人员使用R进行编程,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

原文地址:https://www.cnblogs.com/ljhdo/p/4729828.html

时间: 2024-08-03 23:19:33

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

PowerBI开发 第八篇:查询参数

在PowerBI Desktop中,用户可以定义一个或多个查询参数(Query Parameter),通常的用法是通过查询参数定义数据查询(Query),在数据模型中创建关系,通过DAX表达式引用参数.在查询编辑器(Query Editor)中,用户通过菜单“Manage Parameters”创建和管理参数,参数有Name属性,参数的数据类型,以及参数的类型(List of Values,ListQuery),当前值(Current Value)等属性,用于手动枚举参数的值,或则指定一个Lis

PowerBI开发 第十四篇:DAX 表达式(时间+过滤+关系)

DAX表达式中包含时间关系(Time Intelligence)相关的函数,用于对日期维度进行累加.同比和环比等分析.PowerBI能够创建关系,通过过滤器来对影响计算的上下文. 一,时间关系 DAX表达式有两种方式计算累加和,TOTALxTD()是DATESxTD()的语法糖,使得PowerBI对累加和的计算更加简单. 所有的时间关系函数都包含一个特殊的dates参数,该参数有三种形式: 对date/time列的引用,格式是DateTable[Date_Column] 表格表达式,返回日期/时

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

最近做了几个PowerBI报表,对PowerBI的设计有了更深的理解,对数据的塑形(sharp data),不仅可以在Data Source中实现,例如在TSQL查询脚本中,而且可以在PowerBI中实现,例如,向数据模型中添加自定义字段,或者在报表数据显示时,根据数据表之间的关系做数据的统计.本文主要介绍数据的塑形和UI设计的微调. 一,创建数据列 PowerBI报表的数据分为数据源(Data Source),数据模型(Data Model),Query,数据从Data Source加载到Da

shell基础二十篇

shell基础二十篇 编者按:由 wingger  整理的 shell基础十二篇 以及L_kernel补充的第十三--二十篇,涉及shell 编程及使用的各个方面,又附有大量的例子,极适合初学者系统学习.如果配合網中人的shell 十三問? ,效果更加明显. 这里是其中的第十章 sed.  其他各章可察看相应的 link. shell基础1:文件安全与权限 http://bbs.chinaunix.net/thread-434579-1-1.html 附:Linux的用户和用户组管理 http:

Python开发【第二十篇】:缓存

Python开发[第二十篇]:缓存redis&Memcache 点击这里 Python之路[第九篇]:Python操作 RabbitMQ.Redis.Memcache.SQLAlchemy Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.Memcached基于一个存储键/值对的hashmap.其守护进程(daemon )是用C写的,但是客户端可

【COCOS2DX-LUA 脚本开发之十二】Hybrid模式-利用AssetsManager实现在线更新脚本文件lua、js、图片等资源(免去平台审核周期)

转载自:http://www.himigame.com/iphone-cocos2dx/1354.html 首先说明一个问题: 为什么要在线更新资源和脚本文件!? 对于此问题,那要说的太多了,简单概括,如果你的项目已经在google play 或Apple Store 等平台上架了,那么当你项目需要做一些活动或者修改前端的一些代码等那么你需要重新提交一个新版本给平台,这时候你的上架时候是个不确定的时候,具体什么时候能上架,主要跟平台有关,你再着急,也没有用的. 那么如果你的项目是使用脚本语言进行

Spring+SpringMVC+MyBatis深入学习及搭建(十六)——SpringMVC注解开发(高级篇)

转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/7085268.html 前面讲到:Spring+SpringMVC+MyBatis深入学习及搭建(十五)——SpringMVC注解开发(基础篇) 本文主要内容: (1)SpringMVC校验 (2)数据回显 (3)异常处理器 (4)图片上传 (5)Json数据交互 (6)支持RESTful 1.SpringMVC校验 1.1校验理解 项目中,通常使用较多的是前端的校验,比如页面中js校验.对于安全要求较高的

Android UI开发第三十篇——使用Fragment构建灵活的桌面

摘要: 当我们设计应用程序时,希望能够尽最大限度的适配各种设备,包括4寸屏.7寸屏.10寸屏等等,Android开发文档给了我们参考,而且Google IO的app(如图二)也实现了这种思想,他们都是使用layout.layout-large里 ... 当我们设计应用程序时,希望能够尽最大限度的适配各种设备,包括4寸屏.7寸屏. 10寸屏等等,Android开发文档给了我们参考,而且Google IO的app(如图二)也实现了这种思想,他们都是使用layout.layout-large里面不同的

第十篇 面向对象的程序设计

第十篇 面向对象的程序设计 阅读目录 一 面向对象的程序设计的由来 二 什么是面向对象的程序设计及为什么要有它 三 类和对象 3.1 什么是对象,什么是类 3.2 类相关知识 3.3 对象相关知识 3.4 对象之间的交互 3.5 类名称空间与对象/实例名称空间 3.6 小结 四 继承与派生 4.1 什么是继承 4.2 继承与抽象(先抽象再继承) 4.3 继承与重用性 4.4 组合与重用性 4.5 接口与归一化设计 4.6 抽象类 4.7 继承实现的原理(继承顺序) 4.8 子类中调用父类方法 五