我被要求为一个大型组织制作一堆图表,并获得了访问他们的 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
进行连接? ?
最佳答案
您在问题中发布的内容似乎是 Azure 数据库的 OLE DB 连接字符串。连接字符串特定于您要连接的源(例如 Azure 或 SQL),而不是连接的程序(例如 R 或 Power BI)。
然而 R 和 dbplyr
似乎主要用于 ODBC 连接而不是 OLE DB( reference 1 和 reference 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")
关于r - 使用 Power BI 中的 Office 数据连接 (.odc) 文件连接到 R 中的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58949959/