我的excel power pivot中有一个数据集,格式如下
Week Value Wk15 10 Wk16 12 Wk17 20 Wk18 8 Wk19 50 Wk20 5
我想在Excel中创建一个数据透视表,其中Week为维度,Sum(Value)为度量。这很容易。
但是现在,我需要一个像
这样的自定义切片器"Last 2 weeks" "Last 4 weeks"
并选择它们应该将我的数据透视表的尺寸限制为仅相应的值。
比如说,如果我的数据透视表是一个柱形图,并且它最初显示所有6个值的6个条形图,那么从切片机中选择“过去2周”应该将其限制为仅最新的2周数据(考虑当前周是wk20,那么只显示wk19和wk20)。即只有2个酒吧。
如何在不使用任何宏的情况下执行此操作?任何人都可以解释一下。
提前致谢
答案 0 :(得分:1)
类似于你要求的东西可以直接在数据透视表中完成,PivotFields包含Date数据类型,遗憾的是它不能使用Slicers完成,也不能从数据透视图中完成。 此外,您的请求有点复杂,因为您希望拥有的选项不是唯一的,因为它们相互交叉,即:“过去4周”包括“过去2周”。 在Autofilter和PivotFilters中完成此操作的方法是使用XlDynamicFilterCriteria。 Nevertheles,您的要求可以通过一些小的修改来实现:
1.使用以下列表在工作表中添加DataValidation单元格:
“0.All,1。本周,上周2周,上周3周,上周4周”
允许用户选择自定义视图
2.在工作表级别为名为“kWeekSelection”的DataValidation单元添加“名称”范围允许使用所选视图更新数据
3.使用以下公式将WeekSelection字段(列)添加到名为“!WkSel”的数据中:
= IF(LEFT(' WeeksChart'!kWeekSelection)= 0,"所有&#34 ;, IF(AND($ C9&LT = ISOWEEKNUM(TODAY()), $ C9> = SUM(1,-LEFT(' WeeksChart'!kWeekSelection),ISOWEEKNUM(TODAY())))," Wk.Sel"," N / A& #34))
此公式允许将此字段用作一种动态过滤器。它假定持有数据透视图的工作表的名称是“WeeksChart”
4.将字段“!WkSel”添加到数据透视表的“过滤器”部分
工作原理:从DataValidation中选择视图选项后,按{F9}计算工作簿,(建议使用计算手册),然后刷新来自数据透视表或数据透视图的数据
视图“0.All”允许使用其他字段来过滤数据透视表和数据透视图,其中包含与自定义视图不同的内容。
尽管如此,请注意,这不是生成这些pivottable \ pivotchart视图的最有效方式,使用宏可以大大提高结果的稳定性,效率和可信度。
答案 1 :(得分:0)
AFAIK,这是不可能的,特别是没有任何宏。如果您按周分组数据,请为周列插入切片器。
使用切片器的想法是,您可以使用Shift-Click选择要包含在数据透视中的周数,而不是拥有无穷无尽的预定义可能性,例如"最后2",&#34 ;最后3","最后4"等。