如何通过Excel UI查找透视表切片器的数据源?
注意:我不认为这有什么根本区别,但我正在使用运行在PowerPivot模型之上的pivot表 示例场景: 模型中的三个表:SalesTransaction、BuyerCustomers、SellerCustomers,具有两个定义的PowerPivot关系:如何通过Excel UI查找透视表切片器的数据源?,excel,pivot-table,powerpivot,vba,Excel,Pivot Table,Powerpivot,Vba,注意:我不认为这有什么根本区别,但我正在使用运行在PowerPivot模型之上的pivot表 示例场景: 模型中的三个表:SalesTransaction、BuyerCustomers、SellerCustomers,具有两个定义的PowerPivot关系: BuyerCustomers.CustomerCode --> SalesTransaction.BuyerCustomerCode SellerCustomers.CustomerCode --> SalesTransacti
BuyerCustomers.CustomerCode --> SalesTransaction.BuyerCustomerCode
SellerCustomers.CustomerCode --> SalesTransaction.SellerCustomerCode
我使用SalesTransaction作为数据源定义了一个数据透视表
现在,如果我想在BuyerCustomer和SellerCustomer上创建切片器,在Pivot Table fields窗口中,我可以右键单击并“添加为切片器”:
SalesTransaction.BuyerCustomerCode
和SalesTransaction.SellerCustomerCode
(交易表中的两列)BuyerCustomers.CustomerCode
和SellerCustomers.CustomerCode
(单个查找表)ActiveWorkbook.SlicerCaches("Slicer_CustomerCode").SourceName
…这将产生:
"[SalesTransaction].[BuyerCustomerCode]"
or
"[BuyerCustomers].[CustomerCode]"
…但据我所知,无法通过UI查看此内容。您无法通过UI找到切片器TableName.ColumnName数据源,您只能查看ColumnName 如问题中所述,您可以通过VBA查看表名和列名:
ActiveWorkbook.SlicerCaches("Slicer_YourSlicerName").SourceName
…这将产生:
"[TableName].[ColumnName]"
无法通过公式将此结果拖动到单元格中,但您可以通过转到切片器工具>>选项>>数据透视表连接来查看切片器(或其缓存)绑定到哪个数据透视。要将其放入单元格,您必须使用UDF。对不起,我不是要显示它,我只是想查看切片器在透视表中作用于哪个列。有时,列命名非常模糊,以至于您确实无法确定它绑定到哪个列-如果不编写VBA代码,就无法知道这一点,这似乎令人难以置信。我误解了。原始表中绑定到的字段可以在切片器工具>>选项>>切片器设置中找到。这是对话框顶部的“Source Name”。是的,我看到了,问题是它只显示列名,而不是可以通过SlicerCache(“slicerName”)看到的TABLE.COLUMN Name。SourceName(注意:我在上面的代码示例中意外排除了.SourceName,现已修复。)在列名不总是唯一的大型模型中,无法看到完全限定的名称是不幸的。遗憾的是,我认为这个问题的正确答案是:“你看不到切片器绑定到的TABLE.COLUMN,只有列的名称。”是的。我同意在这种情况下,答案是“不”。我已经用一个切片器连接了将近52个小表格,所以我可以想象,微软的掌门人决定不显示表格/字段,因为它可能会压倒对话框。