是否可以在R Script Visual of Power BI中使用R Plotly库?

问题描述 投票:4回答:2

有没有人尝试在R Script Visual of Power BI中使用PlotlyHighchart

当我在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桌面上运行完美。任何想法?

r highcharts plotly powerbi
2个回答
2
投票

对于较新版本的PowerBI,也可以使用PlotlyR作为ggplot生成custom PowerBI visualizations图表。使用下面描述的方法,您可以从PowerBI表生成密度图,如下所示:

enter image description here


资源:

我建议的解决方案使用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

输出:

enter image description here


第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

这将触发此输出:

enter image description here

当谈到更先进的东西时就是这样。其余的很简单!


第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,以便最终得到:

enter image description here

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并在enter image description here下面出现一个新图标:

C:\pbiCustomR\pbiDensity\dist

pbiDensity.pbiviz:为了使您的可视化工作,列的名称必须与R脚本中的引用相匹配。在我们的例子中,他们没有(只是为了说明一点)。因此,将名称列OK更改为Visualizations

4.2单击新图标以插入可视化占位符,并将enter image description here列拖到其中:

And this is important

你去了:

SampleData

现在,您可以充分利用Data工具栏的灵活性:

Data


第5部分 - 编辑R脚本,更新并重新导入自定义可视化


5.1在RStudio中编辑脚本并保存它而不更改文件名

5.2导航到您的自定义文件夹并运行enter image description here

5.3在Power BI中删除现有的自定义视觉效果并再次导入


1
投票

原因是目前Power BI仅支持由R可视化组件创建的渲染图表为PNG。

请尝试以下方法:

enter image description here
© www.soinside.com 2019 - 2024. All rights reserved.