使用VBA添加或更改Power Pivot数据连接

时间:2015-07-13 02:41:19

标签: vba powerpivot

即使经过长时间的搜索和尝试,我也不确定是否可能。

我有一个使用SQL源的PP模型。假设命令是:

select * from FactInternetSales where CustomerKey  = 11001

我有过滤器,'CustomerKey'并根据过滤器选择我要更新命令。例如:

select * from FactInternetSales where CustomerKey  = 11002

我正在尝试的代码是:

Dim mdl As ModelTable
    Dim wcon As WorkbookConnection
    Dim cmd As String

    Set mdl = ActiveWorkbook.Model.ModelTables("Customers")
    Debug.Print mdl.SourceWorkbookConnection.OLEDBConnection.CommandText
    mdl.SourceWorkbookConnection.OLEDBConnection.CommandText = "select * from      FactInternetSales where CustomerKey  = 11002" 

尝试分配命令会导致“运行时错误1004”

我刚遇到这个link,似乎有可能。但我没有得到“临时表”的一部分。请分享您用于解决此问题的意见(以及VBA)代码。

谢谢, 普拉卡什

1 个答案:

答案 0 :(得分:1)

经过很长一段时间,我在这里看到了自己的问题。我已经找到了解决方案,以回答我自己的问题。

解决方案是需要从Excel数据菜单创建连接,然后从那里加载/导入数据('仅创建连接'以及'将此数据添加到数据模型' )。如果使用PP窗口创建创建,则数据模型将标记为只读。此外,如果从Excel Data菜单导入后重命名/添加表/字段,则数据模型将标记为只读,但关系和测量创建/添加没有问题。

由于