有没有人尝试在R Script Visual of Power BI中使用Plotly
或Highchart
,
当我在R脚本编辑器中尝试此操作并运行:
library(ggplot2)
library(plotly)
x <- 1:5
y <- c(1, 3, 2, 3, 1)
plot_ly(x = dataset$period, y = dataset$mean, name = "spline", line = list(shape = "spline"))
错误信息:
没有创建图像。 R代码不会导致任何视觉效果的创建。确保您的R脚本生成到R默认设备的绘图。
但在我的R桌面上运行完美。任何想法?
对于较新版本的PowerBI,也可以使用Plotly
和R
作为ggplot
生成custom PowerBI visualizations
图表。使用下面描述的方法,您可以从PowerBI表生成密度图,如下所示:
资源:
我建议的解决方案使用nodejs
,可以找到here。这个,以及我的建议的主要部分建立在this excellent blogpost上,在涉及使用和更新custom PowerBI Visualizations
的细节方面只有一些缺点。我可以参考那个链接并指出我做的不同的事情,但为了清晰和完整,我从头开始做了所有事情。
第1部分 - 下载并安装node.js.
1.1:链接:https://nodejs.org/en/
1.2:重新启动计算机,启动命令提示符,然后运行:
npm install -g powerbi-visuals-tools
1.3:在命令提示符中运行以下命令,检查安装是否成功:
输入:
pbiviz
输出:
第2部分:制作Power BI自定义视觉效果
2.1:创建一个包含自定义可视化的文件夹。
我正在使用命令提示符执行此操作
# from the C:\ directory:
md pbiCustomR
cd pbiCustomR
在该文件夹中,运行以下命令:
pbiviz new pbiDensity -t html
这将创建一个新的可视化并安装一些必需的包。您可以将pbiDensity
更改为您想要的任何内容。
2.2:导航到文件夹C:\pbiCustomR\pbiDensity
并仔细查看内容。
那里有很多东西,但我们只关注文件script.R
以及文件pbiDensity.pbiviz
(位于子文件夹dist
中)。 script.R
是一个设置R脚本的模板。我们稍后会编辑。 pbiDensity.pbiviz
是一个PowerBI自定义可视化,您稍后也可以在Power BI中导入它。
2.3:打开文件C:pbiqp\script.R
看到这个(我强烈推荐RStudio):
source('./r_files/flatten_HTML.r')
############### Library Declarations ###############
libraryRequireInstall("ggplot2");
libraryRequireInstall("plotly")
####################################################
################### Actual code ####################
g = qplot(`Petal.Length`, data = iris,fill = `Species`, main = Sys.time());
####################################################
############# Create and save widget ###############
p = ggplotly(g);
internalSaveWidget(p, 'out.html');
####################################################
上面的代码片段使用Iris
数据集中的数据集,但我们将通过添加以下行来利用PowerBI文件中可用的数据:
df <- data.frame(X = Values$Data)
该行从我们将要命名为Data
的现有列i PowerBI文件构建数据帧。但首先,请继续将上面的完整代码段更改为:
source('./r_files/flatten_HTML.r')
############### Library Declarations ###############
libraryRequireInstall("ggplot2");
libraryRequireInstall("plotly")
####################################################
################### Actual code ####################
df <- data.frame(X = Values$Data)
# Build basic ggplot
g <- ggplot(df, aes(x = X))
# Add density plot
g = g + geom_density(colour = 'blue')
############# Create and save widget ###############
p = ggplotly(g);
internalSaveWidget(p, 'out.html');
####################################################
2.4:完成自定义可视化。
在文件夹C:\pbiCustomR\pbiDensity
中,使用命令提示符运行以下命令:
pbiviz package
这将触发此输出:
当谈到更先进的东西时就是这样。其余的很简单!
第3部分 - 使用R在Power BI中生成一些随机数据
3.1在Home
选项卡下,单击Edit Queries
以打开Power Query Editor
。
3.2单击Enter Data
,然后单击OK
。
3.3选择Transform > Run R Script
并插入以下代码段:
set.seed(123)
output <- data.frame(rnorm(100, mean=100, sd=10))
这将在Query Settings
下产生一个名为"output"
的新步骤,以及一个世界上没有最佳列名的随机数字表。
3.4将Applied Steps
下的步骤名称更改为tblRandom
,将列名称更改为SampleData
,以便最终得到:
3.5选择qazxsw poi返回Power BI Desktop。
**第4部分 - 导入和使用您的自定义可视化
4.1在Home > Close&Apply
下,单击带有三个点的图标并选择Visualizations
:
Import from file
4.1导航到qazxsw poi,选择qazxsw poi,单击qazxsw poi并在下面出现一个新图标:
C:\pbiCustomR\pbiDensity\dist
pbiDensity.pbiviz
:为了使您的可视化工作,列的名称必须与R脚本中的引用相匹配。在我们的例子中,他们没有(只是为了说明一点)。因此,将名称列OK
更改为Visualizations
。
And this is important
你去了:
SampleData
现在,您可以充分利用Data
工具栏的灵活性:
Data
第5部分 - 编辑R脚本,更新并重新导入自定义可视化
5.1在RStudio中编辑脚本并保存它而不更改文件名
5.3在Power BI中删除现有的自定义视觉效果并再次导入