如何通过Excel UI查找数据透视表的切片器的数据源?

时间:2014-10-23 15:56:36

标签: excel excel-vba pivot-table powerpivot vba

注意:我认为它没有任何根本区别,但我正在使用在PowerPivot模型上运行的数据透视表。

示例场景:

模型中的三个表:SalesTransaction,BuyerCustomers,SellerCustomers,具有两个已定义的PowerPivot关系:

BuyerCustomers.CustomerCode --> SalesTransaction.BuyerCustomerCode
SellerCustomers.CustomerCode --> SalesTransaction.SellerCustomerCode

我使用SalesTransaction作为数据源定义了数据透视表。

现在,如果我想在BuyerCustomer和SellerCustomer上创建切片器,在数据透视表字段窗口中我可以右键单击"添加为切片器"在任何一个:

  1. SalesTransaction.BuyerCustomerCodeSalesTransaction.SellerCustomerCode(交易表中的两列)
  2. BuyerCustomers.CustomerCodeSellerCustomers.CustomerCode(各个查找表)
  3. 无论哪种方式,行为都是相同的。我的问题是:一旦设置了这个,如何通过Excel中的UI来判断切片器的界限?除了能够通过列名推断显而易见的关联之外,人们如何判断?

    使用VBA ,可以发现这样的关联:

    ActiveWorkbook.SlicerCaches("Slicer_CustomerCode").SourceName  
    

    ......产生:

    "[SalesTransaction].[BuyerCustomerCode]"  
            or  
    "[BuyerCustomers].[CustomerCode]"
    

    ....但据我所知,没有办法通过用户界面看到这一点。

1 个答案:

答案 0 :(得分:1)

您无法通过UI找到切片器TableName.ColumnName数据源,您只能看到ColumnName。

正如问题中所述,您可以通过VBA查看表名和列名:

ActiveWorkbook.SlicerCaches("Slicer_YourSlicerName").SourceName  

......产生:

"[TableName].[ColumnName]"