是否有可能基于过滤Excel中的源表中的行来过滤数据透视表使用的数据?

我已经在Excel 2007中开发了一个仪表板,它使用一个工作表中的一个源表(在我们的数据仓库中填充了一个查询)和多个数据透视表,对这些数据进行不同的截面处理。

我在近百个公式中使用了GETPIVOTDATA,为我的仪表板中的特定指标提供了正确的值。

这一切工作正常。 不过,我现在已经收到了这个问题,使5个不同的部分仪表板。 正如你可以想象的,我不想为此创build5个不同的工作簿,并需要维护所有这些工具的逻辑。

所以我的问题是以下。 是否有可能自动(通过VBA或任何其他手段)过滤结果在我的源表中,这是我的数据透视表的来源,从而我的仪表板值。

如此示意性地

DATABASE_VIEW – > SOURCE_TABLE – > 12个数据透视表 – > 100个GETPIVOTDATA函数

最好我想加载source_table中的所有段(我的数据库中的一个视图),然后过滤源表中的数据,这导致我的枢轴过滤source_dat。 这样我可以(不需要重新查询数据库)在仪表板中快速切换(只刷新枢轴)。

源表中的数据具有可供过滤的CUSTOMER_SEGMENT列。

任何帮助表示赞赏。

杰弗里

您可以通过VBA操作所有外部数据连接和内部数据透视表。

为了使它成为你的双重学习者,我推荐使用Record Macrobutton,然后更改数据透视表中的filter,并更改你的SQL查询。

现在您将看到在logging的macros中说明了该数据透视表/查询的相关属性。 filter和SQL只是VBA代码中的string,因此您可以改变某些位以获得不同的filter或"WHERE Cust_ID = " comboboxCust.Valuetypes的东西。

通过VBA代码来更改filter和SQL通常更快,然后使它们与标准Excel工具(函数,参数,链接filter等)交互相关。