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) 如果把切片器和篩選器同時設定,它們之間的是一致的。