代码之家  ›  专栏  ›  技术社区  ›  gfgm

使用powerbi中的Office数据连接(.odc)文件连接到R中的数据库

  •  0
  • gfgm  · 技术社区  · 6 年前

    我被要求为一个大型组织制作一系列图表,并被授予访问他们的powerbi仪表板的权限。我想看看powerbi的界面,这样我就可以在R中制作图表了。powerbi提供了一个“excel分析”选项,可以让你下载一个.odc文件在excel中打开。odc文件不包含数据,它只是为excel指定了一个数据库连接。

    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 或者其他的包裹,但我不知道从哪里开始。这个关于如何用python实现的答案看起来很有希望 Reading a dataframe from an odc file created through excel using pandas 但是我遇到了一个与python安装相关的错误。我宁愿让它在R工作。

    odc文件中是否有足够的信息可以通过 dbplyr公司

    0 回复  |  直到 6 年前
        1
  •  3
  •   Simon.S.A.    6 年前

    但是R和 dbplyr 似乎主要使用ODBC连接而不是oledb( 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")
    
    推荐文章