Pivot Table系列之切片器 (Slicer)
1. 遇到的问题:
在Excel中,用PivotTable来做数据报告展示:
问题1:在同一个Sheet页里,多个PivotTable如何实现同步刷新?
问题2:在不同Sheet页之间,多个PivotTable如何实现同步刷新?
2. 前提介绍
在同一个Sheet页里面,有两个PivotTable,数据源在同一个模型中,维度相同,由于种种原因(不同的度量值等等,在这里不再深究为什么分开,只谈分开之后如何处理),需要分开两个PivotTable显示。

3. 数据解释
如上图所示,例如第一个PivotTable的数据是每个月的实际发生数据,每个月会保存一版月度最终版本数据;第二个PivotTable是全年的预测数据。
4. 需求
需要查看不同版本的实际月份时,在同一年全年预测数据不变的;同时切换到不同年份的数据版本时,第二个PivotTable的年度预测数据需要随之显示成当前年的预测数据。
5. 问题现象
如上图所示,当使用过滤器(Filter)进行数据版本切换时,第二个PivotTable是没有随之发生联动的;也就是说第一个PivotTable的过滤器的作用域只是自己的PivotTable。
6. 解决办法
使用切片器(Slicer)进行同步刷新多个PivotTable
1) 切片器位置
ANALYZE 选项卡中,Filter组中。

2) 点击【Insert Slicer】来插入一个切片器
3) 在弹出的窗口中,会显示当前数据集使用的维度和事实;也可以点击[全部]来切换到全部的维度和事实。
在这里,我们选择使用DIM_MONTH_VERSION来作为切片器的筛选条件。


4) 点击OK,切片器创建成功
注:
黑色维度:表示在事实表中存在此维度数据,如201512、201608、201612;
同理,灰色维度:表示在事实表中不存在此维度数据,如201501等等。

5) 创建成功之后,依然发现两个PivotTable没有同步数据。
第二个PivotTable的MONTH_KEY筛选器还是All.

6) 此时,我们需要对切片器的作用域进行设置。因为在创建切片器时,选中了其中的一个PivotTable,所以默认的作用域就是当前PivotTable。
在切片器上,点击鼠标右键,选择【Report Connections…】

7) 会发现在当前Sheet2页中,只有PivotTable1 (第一个PivotTable)被选中了。为了把PivotTable2加入到切片器的作用域中,把PivotTable2也选中;然后OK。


8) 然后,我们看到第二个PivotTable的MONTH_KEY的Filter值也变成了201512。

这里并不是手动在第二个PivotTable选择MONTH_KEY的结果;为了澄清结果,把两个PivotTable的MONTH_KEY的Filter去掉

点击切片器,切换到201608数据版本。

9) 同理,可以设置多个PivotTable数据同步,即使不在一个Sheet页里面,也是可以设置生效的,因为在切片器的Report Connections属性卡里面列出来当前Excel文件所有的PivotTable.

7. 切片器其他属性介绍
在切片器的右键属性中

1) 刷新(Refresh)

刷新切片器和切片器作用域内所有PivotTable。
刷新切片器的意思是:如果在事实表中插入了201501版本的数据,那么点击刷新之后,会在切片器中把201501显示成黑色,来表示事实表中事实数据存在;即使只有一个事实表中存在,也会表示出来。
2) 排序功能

从小到大,从大到小,按照数据源顺序。比较简单,可以点击看不同结果。
3) 清空筛选条件…(Clear Filter from…)

会选中所有切片器中维度的所有数据。然后变灰,如果想再次选择数据版本,只需点击切片器数据版本即可。

4) 报表连接…(Report Connections…)

如上示例所示,对当前Excel文件的所有PivotTable的设置切片器的作用域。
5) 移除…(Remove…)

即删除当前切片器
6) 组合(Group)
如果有多个切片器,可以对某几个或者全部切片器,进行组合,以方便显示和拖拽。

7) 前置显示/后置显示(Bring to Front/Send to Back/)
设置切片器显示的层次。
8) 指定宏…(Assign Macro..)

关联VBA脚本,来设置点击切片器或者切片器发生变化时,需要触发的事件;处理的逻辑需要在VBA中开发完成。
9) 尺寸和属性(Size and Property…)

根据需要设置布局位置的外观。
10) 切片器设置(Slicer Setting)


- 名称(Name): 给切片器命名。在文件中存在多个切片器时,可以以名字来区分。
- 显示头部(Display header):是否显示切片器表头。
不显示

显示

- 标题(Caption)
表头位置显示的标题内容。方便用户理解。
例如:以上示例中,可以命名成Month Version


- 排序(Item Sorting)
同排序功能
- 显示筛选(Item Filtering)
是否需要隐藏没有数据的维度
例如:
- 如果选择隐藏没有数据的维度

灰色维度数据即不显示

- 如果选择显示没有数据的维度
直观显示没有数据的维度(Visually indicate items with no data)和在最后显示没有数据的维度(Show item with no data last)是默认选择的。
实际显示效果,可以尝试取消选择进行测试。

8. 使用注意
1) 切片器就是一个特殊的筛选器,能扩大筛选器的作用域
2) 如果把切片器和筛选器同时设定,它们之间的是一致的。
Pivot Table系列之切片器 (Slicer)的更多相关文章
- Pivot Table系列之展开/折叠用法 (Expand/Collapse)
1.遇到的问题: PivotTable中本来已经展开的维度的Hierarchy(层次结构),在切换切片器的数据集时,层次结构就折叠在一起了:没有按照之前的方式展开显示. 2.在做成PivotTable ...
- 2018.03.29 python-pandas 数据透视pivot table / 交叉表crosstab
#透视表 pivot table #pd.pivot_table(data,values=None,index=None,columns=None, import numpy as np import ...
- (三、四)Superset 1.3图表篇——透视表-Pivot Table
本系列文章基于Superset 1.3.0版本.1.3.0版本目前支持分布,趋势,地理等等类型共59张图表.本次1.3版本的更新图表有了一些新的变化,而之前也一直没有做过非常细致的图表教程. 而且目前 ...
- Open xml 操作Excel 透视表(Pivot table)-- 实现Excel多语言报表
我的一个ERP项目中,客户希望使用Excel Pivot table 做分析报表. ERP 从数据库中读出数据,导出到Excel中的数据源表(统一命名为Data),刷新Pivot table! 客户还 ...
- Use Excel Pivot Table as a BI tool
Normally, we have created a table, view in database or cube in SSAS, user can use Excel as a BI tool ...
- Dynamic Pivot table wizard SQL Server
原文 http://www.gyurcit.hu/pivot.html Dynamic Pivot table wizard This stored procedure generate dynami ...
- EXCEL Pivot table manipulate
Add filter For the Demo time,I would like to filter out the products which not in Red and Black colo ...
- 关于ComponentOne For WinForm 的全新控件 – DataFilter数据切片器(Beta)
概述 数据切片器在电子商务网站上很常见 - 它们可以帮助用户快速过滤所选商品,并且所有过滤选项都可以在一个地方使用,通常包含核心控件类型为:清单,范围栏和单选按钮等.在ComponentOne For ...
- Pandas 基础(10) - 用 Pivot table 做格式转换
Pivot allows you to transform or reshape data.Pivot 可以帮助我们改变数据的格式, 下面两个例子可以作为参考: 下面来看下具体实现, 首先引入一个 c ...
随机推荐
- java(5)循坏结构
一. while循环 1.循环的优点? 减少重复代码的编写:程序会更加的简洁 2.语法 while(表达式){ // 1.表达式是[循环条件],结果必须是boolean类型 //2.{}中的代码,即[ ...
- es6之各种数据类型的扩展
一. 字符串的扩展 为字符串添加了Iterator,可以被for...of遍历 includes.startsWith.endsWith都会返回布尔值,且支持第二个参数(开始搜索的位置),endsWi ...
- CentOS7安装使用Docker
安装 Docker 官方为了简化安装流程,提供了一套安装脚本,CentOS 系统上可以使用这套脚本安装: curl -sSL https://get.docker.com/ | sh 执行这个命令后, ...
- HTML5录音控件
最近的项目又需要用到录音,年前有过调研,再次翻出来使用,这里做一个记录. HTML5提供了录音支持,因此可以方便使用HTML5来录音,来实现录音.语音识别等功能,语音开发必备.但是ES标准提供的API ...
- Django中的枚举类型
一.枚举类型示例 枚举类型可以看作是一种标签或是一系列常量的集合,通常用于表示某些特定的有限集合,例如星期.月份.状态等.Python 的原生类型(Built-in types)里并没有专门的枚举类型 ...
- Spring学习(24)--- AOP之 Aspect instantiation models(aspect实例模式)特别说明
重要: schema-defined aspects只支持singleton model,即 基于配置文件的aspects只支持单例模式
- require 增量更新与版本管理
使用require.js 加载JS文件时,当JS文件有更新,可以通过更改全局版本号( urlArgs : 'v=1'),告诉浏览器加载新的文件. 但该方法虽然使用方便,但美中不足的是有些不需要更新的文 ...
- JAVA web.xml中引用多个XML
web.xml里加<context-param><param-name>contextConfigLocation</param-name><param-va ...
- Java NIO学习笔记 NIO选择器
Java NIO选择器 A Selector是一个Java NIO组件,可以检查一个或多个NIO通道,并确定哪些通道已准备就绪,例如读取或写入.这样一个线程可以管理多个通道,从而管理多个网络连接. 为 ...
- git视频教程
git 精简版视频教程-2小时快速入门精华版,小教程很快就可以看完. 旺旺 QQ:Git是目前世界上最先进的分布式版本控制系统(没有之一). Git有非常高的逼格,简单来说就是:高端大气上档次. 这么 ...