代码之家  ›  专栏  ›  技术社区  ›  Przemyslaw Remin

突破动力BI 15万行的出口限制

  •  1
  • Przemyslaw Remin  · 技术社区  · 6 年前
    1 回复  |  直到 6 年前
        1
  •  1
  •   Przemyslaw Remin    6 年前

    好的,我通过了。这是可能的。为此,您应该熟悉R和SQL Server。下面的示例将201K行直接从PBI导出到SQL Server。在R中安装rodbc包。对于那些想从头开始安装的人,请检查参考链接。

    下面是一个例子。在power bi中生成一个测试表,其中有201k行:

    let
    source=list.generate(()=>1,每个lt;201001,每个uu1)
    #“converted to table”=table.fromList(source,splitter.splitByNothing(),null,null,extraValues.error)
    在里面
    #“已转换为表”
    

    该表是一列1,值从1到201001。所以超出了PBI限制。

    通过r.menu transform/run r script>粘贴代码:

    库(rodbc)
    conn<-odbcDriverConnect(“driver=sql server;server=\\sqlexpress;database=mydatabase”)。
    ODBCclearror(连接器)
    sqlsave(conn,dataset,tablename=“myr_table”,rownames=false,safer=false,append=false)
    关闭(连接)
    

    它将整个M表导出到sqlexpress(或您提供的任何SQL服务器)到databasemydatabaseto tablemyr_table(该表是动态创建的,不必首先在SQL Server上创建)。在我的例子中,它在8分半钟内就转储了201K行的整个测试表。

    供进一步参考的链接:
    http://biinsight.com/exporting power bi data to sql server/
    https://www.youtube.com/watch?V=Anizktzo3eu

    PBI到SQL Server。在R中安装rodbc包。对于那些想从头开始安装的人,请检查参考链接。

    下面是一个例子。在POWER BI中生成一个测试表,其中有201K行:

    let
        Source = List.Generate(()=>1, each _ < 201001, each _ + 1),
        #"Converted to Table" = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error)
    in
        #"Converted to Table"
    

    该表是一列1,值从1到201001。所以超出了PBI限制。

    通过R。Menu Transform / Run R Script. 粘贴代码:

    library(RODBC)
    conn <- odbcDriverConnect("driver=SQL Server;server=.\\SQLEXPRESS;Database=MyDataBase")
    odbcClearError(conn)
    sqlSave(conn, dataset, tablename="MyR_table",rownames=FALSE, safer=FALSE, append=FALSE)
    close(conn)
    

    enter image description here

    它将整个M表导出到sqlexpress(或您提供的任何SQL服务器)到数据库MyDataBase到表格MyR_table(表是动态创建的,不必首先在SQL Server上创建)。在我的例子中,它在8分半钟内就转储了201K行的整个测试表。

    供进一步参考的链接:
    http://biinsight.com/exporting-power-bi-data-to-sql-server/
    https://www.youtube.com/watch?v=ANIZkTZO3eU