【问题标题】:Controlling pivot chart filters using custom built slicers data使用自定义构建的切片器数据控制数据透视图过滤器
【发布时间】:2015-05-06 09:15:40
【问题描述】:

我的 excel power pivot 中有一个数据集,格式如下

周值 第 15 周 10 第 16 周 12 周 第 17 周 20 周 第 18 周 8 第 19 周 50 第 20 周 5

我想在 Excel 中创建一个数据透视图,其中 Week 作为维度,Sum(Value) 作为度量。这是最容易的部分。

但现在,我需要一个自定义切片器,其值类似于

“过去 2 周” “过去 4 周”

并选择它们应该将我的数据透视图的维度限制为仅对应的值。

假设,如果我的数据透视图是柱形图,并且它最初为所有 6 个值显示 6 个条形图,那么从切片器中选择“过去 2 周”应该将其限制为仅最近 2 周的数据(考虑当前周是wk20,则只应显示 wk19 和 wk20)。即只有 2 个小节。

如何在不使用任何宏的情况下做到这一点?谁能解释一下。

提前致谢

【问题讨论】:

    标签: excel pivot-table powerpivot dax


    【解决方案1】:

    可以直接在数据透视表中完成与您所要求的类似的事情,数据透视表包含日期数据类型,不幸的是它不能使用切片器完成,也不能从数据透视图中完成。 此外,您的请求有点复杂,因为您想要的选择不是排他性的,因为它们相互交叉,即:“过去 4 周”包括“过去 2 周”。 在 Autofilter 和 PivotFilters 中完成此操作的方式是使用 XlDynamicFilterCriteria。尽管如此,您的要求可以通过一些小的修改来实现:

    1.在工作表中添加一个 DataValidation 单元格,列表如下:

    “0.All,1.This Week,2 Last Weeks,3 Last Weeks,4 Last Weeks”

    允许用户选择自定义视图

    2.在工作表级别为名为 “kWeekSelection”的 DataValidation 单元格添加“名称”范围允许使用选定的视图来更新数据

    3. 使用以下公式为名为 “!WkSel” 的数据添加 WeekSelection 字段(列):

    =IF(LEFT('WeeksChart'!kWeekSelection)=0,"All", IF(AND($C9=SUM(1,-LEFT('WeeksChart'!kWeekSelection),ISOWEEKNUM(TODAY()))),"Wk.Sel","N/A"))

    此公式允许将此字段用作一种动态过滤器。它假设保存数据透视图的工作表的名称是“WeeksChart”

    4.将字段“!WkSel”添加到数据透视表的过滤器部分

    工作原理:在DataValidation中选择查看选项后,按{F9}计算工作簿,(建议使用计算手册),然后刷新来自数据透视表或数据透视图的数据

    视图“0.All”允许使用其他字段来过滤数据透视表和数据透视图,其中的内容与自定义视图不同。

    不过,请注意,这不是生成这些数据透视表\数据透视图视图的最有效方式,使用宏可以大大提高结果的稳定性、效率和可信度。

    【讨论】:

      【解决方案2】:

      AFAIK,这是不可能的,尤其是在没有任何宏的情况下。如果您的数据按周分组,请为周列插入切片器。

      切片器的想法是,您可以使用 Shift-Click 来选择要包含在数据透视表中的周数,而不是像“last 2”、“last 3”、“last 4”这样的无休止的预定义可能性数组"等等。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-12-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-16
        • 1970-01-01
        相关资源
        最近更新 更多