数据刷新后保留数据透视表报表筛选器

时间:2015-09-09 01:58:05

标签: sql-server excel excel-2010 pivot-table

我有一个数据透视表(实际上它是五个数据透视表,每个都在它自己的单独工作表上),它是从外部数据库的查询创建的。每个数据透视表代表一天(即今天,明天,今天+ 2,今天+3,今天+4)。对于前两个的报告过滤器,我们使用今天和明天的日期范围过滤器,它自动过滤数据并允许其翻转。我们为其他三天创建了自定义日期范围,但在每次外部数据刷新时,我们都必须进入每个工作表并从所有指定的时间范围重新选择报告过滤器。这些数据每天都会滚动,因此我们可以看到接下来96小时的阵容。

有没有办法保持数据透视表的报表过滤条件(VBA和宏都可以接受,虽然我们对两者都相当新)?

或者是否有一些超级秘密的方式将报告过滤器从今天和明天扩展到时间范围(48小时,96小时)而不是下个月?

我需要将这些日子分开,所以下周不会有效,因为所有日子都会填充在一页上。

1 个答案:

答案 0 :(得分:0)

没有看到一个真实的例子很难说,但如何将查询更改为相对日期索引,例如

SELECT DATEDIFF('day', GETDATE(), report_dt) AS days_from_today FROM reporting_table

然后在此相对日期索引(明天days_from_today = 1等)上设置报告过滤器?您始终可以在报告=TODAY() + days_from_today中创建另一个Excel列,以获取您的绝对日期。 (假设您只是为了报告目的而处理一个时区。)

即,不是滚动过滤器,而是将过滤器保持在常量索引上,并让索引覆盖滚动日期范围。我不确定Excel是否足够聪明,可以进行滚动过滤器。