功率查询模型可以连接到现有的相同模型吗?

时间:2019-03-01 11:03:59

标签: vba connection powerbi powerpivot powerquery

我有一个在PowerQuery中创建的带有大型模型的Excel文件。令人上瘾的是,模型已连接到PowerPivot,这使您可以在文件中使用数据透视。

当依赖文件的另一个版本时,我不想丢失所有创建的自定义数据透视表。当我尝试将一张纸的结构相同(使用相同的模型...)时,问题就出现了。

工作表的副本将重新生成与原始副本相同的另一个模型。

首先,通过在名称末尾添加(n)来复制连接(例如Workbooks(“ filename”)。Connections(“ Query-product (1)< / strong>“))),因为excel在另一个文件中找到了相同的查询名称。

出于相同的原因,重复了PowerQuery中的查询(例如“查询-产品(1)”)。

在Power Pivot中,该模型也被复制。

请遵循我将工作表复制到另一本工作簿时生成的代码:

Sub Macro1()

Sheets("OldSheetName").Select
    
Workbooks("NewFileName").Connections.Add2 _
        "Query - Product (1)", _
        "Description", _
        "OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=""Product (1)"";Extended Properties=""""" _
        , "SELECT * FROM [Product (1)]", 2

'Same Code for the others connections 

Sheets("OldSheetName").Copy After:=Workbooks( _
"NEWFileName.xlsm").Sheets(13)

End Sub

我尝试先删除连接,然后复制相同的连接。 这样,我就失去了那些连接处的相关数据透视。

遵循使用的代码:

Sub Macro1()

Sheets("SheetName").Select

Workbooks("OldFileName").Connections("Query - Product").Delete 
   
Workbooks("NewFileName").Connections.Add2 _
        "Query - Product", _
        "Description", _
        "OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=""Product"";Extended Properties=""""" _
        , "SELECT * FROM [Product]", 2

'Same Code for the others connections 

Sheets("NewSheetName").Copy After:=Workbooks( _
"NEWFileName.xlsm").Sheets(13)

End Sub

有人对解决这个问题有什么建议吗?可以使用VBA代码将新模型链接到现有模型吗?

预先感谢

Federico

0 个答案:

没有答案