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)的更多相关文章

  1. Pivot Table系列之展开/折叠用法 (Expand/Collapse)

    1.遇到的问题: PivotTable中本来已经展开的维度的Hierarchy(层次结构),在切换切片器的数据集时,层次结构就折叠在一起了:没有按照之前的方式展开显示. 2.在做成PivotTable ...

  2. 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 ...

  3. (三、四)Superset 1.3图表篇——透视表-Pivot Table

    本系列文章基于Superset 1.3.0版本.1.3.0版本目前支持分布,趋势,地理等等类型共59张图表.本次1.3版本的更新图表有了一些新的变化,而之前也一直没有做过非常细致的图表教程. 而且目前 ...

  4. Open xml 操作Excel 透视表(Pivot table)-- 实现Excel多语言报表

    我的一个ERP项目中,客户希望使用Excel Pivot table 做分析报表. ERP 从数据库中读出数据,导出到Excel中的数据源表(统一命名为Data),刷新Pivot table! 客户还 ...

  5. 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 ...

  6. Dynamic Pivot table wizard SQL Server

    原文 http://www.gyurcit.hu/pivot.html Dynamic Pivot table wizard This stored procedure generate dynami ...

  7. 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 ...

  8. 关于ComponentOne For WinForm 的全新控件 – DataFilter数据切片器(Beta)

    概述 数据切片器在电子商务网站上很常见 - 它们可以帮助用户快速过滤所选商品,并且所有过滤选项都可以在一个地方使用,通常包含核心控件类型为:清单,范围栏和单选按钮等.在ComponentOne For ...

  9. Pandas 基础(10) - 用 Pivot table 做格式转换

    Pivot allows you to transform or reshape data.Pivot 可以帮助我们改变数据的格式, 下面两个例子可以作为参考: 下面来看下具体实现, 首先引入一个 c ...

随机推荐

  1. winserver2008r2 + iis7安装django

    同样网上看了无数教程,但总是这个错一点那个错一点点的结果就一直没成功然后逞着今天空了那么一下午下定决定再折腾下把django跑起来,解决了静态文件问题为了方便以后复制粘贴,就全文字,嘿嘿 废话不说,接 ...

  2. <iOS 组件与框架> -- UIKit Dynamics

    UIKit Dynamics 结合 『iOS 组件与框架 』一书.总结的知识点与demo demo 地址: GitHub地址 一.概述 1.UIKit Dynamics 是 iOS 7 新增的内容.其 ...

  3. Mybatis配置(一)

    1.导入Mybatis包 2.得到SqlSession来访问数据库 /** * 访问数据库 */public class DBAccess {          public SqlSession g ...

  4. lftp的用法

    lftp是Linux下的一个ftp工具,支持ftp, ftps, http, https, hftp, fish, sftp, file, bittorrent等协议(支持https 和 ftps,必 ...

  5. mac sourcetree启用外部合并工具(beyond compare)

    设置步骤及遇到的问题: 一.在sourcetree中设置diff为外部工具. 1.步骤:打开sourcetree偏好设置的diff菜单. 2.问题:发现sourcetree偏好中的"外部代码 ...

  6. python 算法 -- 冒泡排序

    python 排序算法 -- 冒泡排序 原理 从数组的底部开始, 两两比较大小, 小的在下,大的在上, 依次类推直到顶部. 当整个数组比较完毕, 则最上面的一定是最大值(此即冒泡的由来); 当第一轮比 ...

  7. 一个编程菜鸟的进阶之路(C/C++)

    学编程是一条不归路,但我义无反顾.只能往前冲,知道这个过程是痛苦的,所以我开通这个博客,记录自己在编程中遇到的问题和心得,一是希望可以帮助跟我一样遇到同样问题的人,二是把这作为对自己的勉励及回忆:

  8. [POI2005]SAM-Toy Cars

    题目描述 Johnny is a little boy - he is only three years old and enjoys playing with toy cars very much. ...

  9. Javaee需不需要培训?培训完可以顺利找到工作吗?

    Javaee需不需要培训?培训完可以顺利找到工作吗? 在IT行业中Java以它通用性.高效性.平台移植性和安全性遍布各个领域,它的火热也给IT市场发展带来一定影响,随着Java技术的广泛运营,企业对J ...

  10. PHP安装phpredis扩展

    phpredis 的github地址:https://github.com/nicolasff/phpredis第一步:切换到指定的目录,然后wget https://github.com/nicol ...