使用Power BI

时间:2019-11-20 08:38:55

标签: r database powerbi dbplyr

我被要求为一个大型组织制作一堆图表,并获得访问其Power BI仪表板的权限。我想遍历Power BI的界面,以便可以在R中制作图表。Power BI提供了“在excel中分析”选项,该选项使您可以下载.odc文件以在excel中打开。 .odc文件不包含数据,它仅指定excel的数据库连接。 但是,这仅适用于Windows计算机,并且我拥有Mac。如果需要,我将尝试弄清楚如何安装Windows虚拟机,但我想我先在这里尝试:

.odc文件指定连接类型和字符串,例如

<odc:Connection odc:Type="OLEDB">   
<odc:ConnectionString>Provider=MSOLAP;Integrated Security=ClaimsToken;
Identity Provider=https://login.microsoftonline.com/common, 
https://analysis.windows.net/powerbi/api, 929d0ec0-7a41-4b1e-bc7c-b754a28bddcc;
Data Source=pbiazure://api.powerbi.com;
Initial Catalog=2df8e9ba-9ee5-43fb-bbb0-ba622b9cdc2b;
MDX Compatibility= 1; MDX Missing Member Mode= Error; 
Safety Options= 2; Update Isolation Level= 2; </odc:ConnectionString>

我希望可以使用dbplyr或其他软件包连接到R中的基础数据库,但是我不确定从哪里开始。这个关于如何在python中执行此操作的答案看起来很有前途Reading a dataframe from an odc file created through excel using pandas,但我遇到了与我的python安装有关的错误。我宁愿让它在R中工作。

.odc文件中是否有足够的信息可通过dbplyr连接?

1 个答案:

答案 0 :(得分:1)

您在问题中发布的内容似乎是Azure数据库的OLE DB连接字符串。连接字符串特定于您要连接到的源(例如Azure或SQL),而不是正在连接的程序(例如R或Power BI)。

然而,R和dbplyr似乎主要用于ODBC连接,而不是OLE DB(reference 1reference 2)。

您也许可以使用this链接将OLE DB连接字符串转换为ODBC连接字符串。但是,这确实要求源接受/具有用于ODBC连接的驱动程序。

我建议先检查是否有可用的ODBC连接,因为这样会更简单。

一旦有了连接字符串,连接到源就应该运行以下内容:

connection_string <- "DRIVER=...; DATABASE=...; SERVER=...;"
db_connection <- DBI::dbConnect(odbc::odbc(),. connection_string = connection_string)
remote_table <- dplyr::tbl(db_connection, from = "name_of_remote_table")