gfg*_*fgm 6 database r 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>
Run Code Online (Sandbox Code Playgroud)
我希望可以使用 Rdbplyr或其他一些包连接到底层数据库,但我不确定从哪里开始。这个关于如何在 python 中执行此操作的答案看起来很有前途,Reading a dataframe from an odc file created through excel using pandas但我收到了与我的 python 安装相关的错误。我宁愿让它在 R 中工作。
.odc 文件中是否有足够的信息可供连接通过dbplyr?
您在问题中发布的内容似乎是 Azure 数据库的 OLE DB 连接字符串。连接字符串特定于您要连接的源(例如 Azure 或 SQL),而不是特定于正在连接的程序(例如 R 或 Power BI)。
然而,R 和dbplyr似乎主要使用 ODBC 连接而不是 OLE DB(参考 1和参考 2)。
您也许可以使用此链接将 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")
Run Code Online (Sandbox Code Playgroud)