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