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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM