对于较新版本的PowerBI,也可以使用R和ggplot作为自定义PowerBI可视化工具来生成Plotly图表。通过下面描述的方法,您可以从PowerBI表格生成一个密度图,如下所示:
![enter image description here](https://istack.dev59.com/VPYdj.webp)
资源:
我的建议解决方案使用了可以在这里找到的nodejs
。除此之外,我的建议的主要部分是基于这篇优秀的博客文章,只是在使用和更新自定义PowerBI可视化
的细节方面有一些小缺点。我本来可以只引用那个链接并指出我所做的不同之处,但为了清晰和完整起见,我从头开始做了整个过程。
第一部分 - 下载并安装node.js
1.1: 链接: https://nodejs.org/en/
1.2: 重新启动您的计算机,打开命令提示符,并运行以下命令:
npm install -g powerbi-visuals-tools
1.3:在命令提示符中运行以下命令来检查您的安装是否成功:
输入:
pbiviz
输出:
![enter image description here](https://istack.dev59.com/xixUd.webp)
第二部分:创建一个PowerBI自定义可视化
2.1:创建一个文件夹来存放您的自定义可视化内容。
我正在使用命令提示符来完成这个操作。
# from the C:\ directory:
md pbiCustomR
cd pbiCustomR
在那个文件夹中,运行以下命令:
pbiviz new pbiDensity -t rhtml
这将创建一个新的可视化并安装一些必需的软件包。您可以将pbiDensity
更改为您想要的任何内容。
2.2:导航到文件夹C:\pbiCustomR\pbiDensity
并仔细查看其内容。
那里有很多东西,但我们只关注文件script.R
以及文件pbiDensity.pbiviz
(位于子文件夹dist
中)。script.R
是设置您的R脚本的模板。我们稍后会对其进行编辑。pbiDensity.pbiviz
是PowerBI自定义可视化,您稍后也将在Power BI中导入它。
2.3:打开文件C:\pbiCustomR\pbiDensity\script.R
以查看其内容(我强烈推荐使用RStudio):
source('./r_files/flatten_HTML.r')
libraryRequireInstall("ggplot2");
libraryRequireInstall("plotly")
g = qplot(`Petal.Length`, data = iris,fill = `Species`, main = Sys.time());
p = ggplotly(g);
internalSaveWidget(p, 'out.html');
上面的代码片段使用了一个来自
Iris
数据集的数据,但我们将通过添加这行代码来使用PowerBI文件中可用的数据:
df <- data.frame(X = Values$Data)
那行代码从现有的列中构建了一个数据帧,我们将把它命名为
Data
。但是首先,请继续将上面的完整代码片段更改为:
source('./r_files/flatten_HTML.r')
libraryRequireInstall("ggplot2");
libraryRequireInstall("plotly")
df <- data.frame(X = Values$Data)
g <- ggplot(df, aes(x = X))
g = g + geom_density(colour = 'blue')
p = ggplotly(g);
internalSaveWidget(p, 'out.html');
2.4:完成您的自定义可视化。
在文件夹
C:\pbiCustomR\pbiDensity
中,使用命令提示符运行以下命令:
pbiviz package
这将触发以下输出:
![enter image description here](https://istack.dev59.com/dGHgu.webp)
这就是关于更高级的东西的全部了。剩下的都很简单!
第三部分 - 使用R在PowerBI中生成一些随机数据
3.1 在“主页”选项卡下,点击“编辑查询”以打开“Power Query Editor”。
3.2 点击“输入数据”,然后
仅仅点击“确定”。
3.3 选择“转换 > 运行 R 脚本”,并插入以下片段:
set.seed(123)
output <- data.frame(rnorm(100, mean=100, sd=10))
这将在“查询设置”下生成一个名为“output”的新步骤,以及一个带有不是世界上最好的列名的随机数表。
3.4 将“应用步骤”下的步骤名称更改为“tblRandom”,列名称更改为“SampleData”,这样你就会得到以下结果:
![enter image description here](https://istack.dev59.com/KVWbu.webp)
3.5 选择 "主页 > 关闭和应用" 返回到 PowerBI Desktop。
**第四部分 - 导入和使用您的自定义可视化**
4.1 在“可视化”下,点击带有三个点的图标,然后选择“从文件导入”。
![enter image description here](https://istack.dev59.com/9Smbs.webp)
4.1 导航到 C:\pbiCustomR\pbiDensity\dist,选择 pbiDensity.pbiviz,点击 OK,然后在 Visualizations 下应该会出现一个新的图标。
![enter image description here](https://istack.dev59.com/bmwVw.webp)
这一点很重要
:为了使您的可视化工作,您的列名必须与R脚本中的引用匹配。而在我们的情况下,它们并不匹配(只是为了强调一下)。所以将列名SampleData
改为Data
。
4.2 点击您的新图标以插入可视化占位符,并将Data
列拖放到其中:
![enter image description here](https://istack.dev59.com/R6Mod.webp)
这就是你要的:
![enter image description here](https://istack.dev59.com/2Ktej.webp)
现在您可以充分利用
plotly
工具栏的灵活性:
![enter image description here](https://istack.dev59.com/1WjoY.webp)
第五部分 - 编辑 R 脚本,更新并重新导入自定义可视化
5.1 在RStudio中编辑你的脚本,并保存时不要更改文件名。
5.2 导航到你的自定义文件夹,并运行 "pbiviz package"。
5.3 在PowerBI中删除你现有的自定义可视化,并重新导入它。