本篇接著介紹 Power Pivot,使用上一篇的數(shù)據(jù),編制一個透視表 + 透視圖,實現(xiàn)數(shù)據(jù)動態(tài)展示,動態(tài)效果來自切片器 (slicer)。其實切片器并不是 Power Pivot 而是 Excel 的功能,在 Excel 中表格和數(shù)據(jù)透視表都能用到切片器。但鑒于切片器的作用,所以也在 Power Pivot 系列中對切片器作一些介紹。。
本篇要實現(xiàn)的最終界面如下:
最左邊和最上邊使用兩個切片器實現(xiàn)動態(tài)篩選:按年份和按產(chǎn)品類別。主體部分的左邊部分是按品牌統(tǒng)計銷售數(shù)量和銷售金額,右邊是按季度統(tǒng)計。上一篇我已經(jīng)解釋了 Power Pivot 多個表建立連接之后數(shù)據(jù)透視表能在多個表中自由選擇字段進行分析,所以按品牌來編制數(shù)據(jù)透視表已經(jīng)沒有問題,但按年度篩選,按按季度分析,需要先對數(shù)據(jù)進行進一步加工。
Power Pivot 添加列
進入 Power Pivot 界面,切換到 SalesOrder 表,選中最右邊「添加列」任意一個單元格,然后將光標放到公式欄編寫公式,這個跟 Excel 工作表界面非常類似:
然后在公式欄中輸入:
= YEAR([TxDate])
像下面這樣:
然后回車,這樣就創(chuàng)建了一個新列,對新列重命名為 TxYear。使用
MONTH() 函數(shù)添加另一個計算列 TxMonth:
介紹一下 Power Pivot 表和字段的語法。Power Pivot 的表 (table) 用單引號包含,比如
'SalesOrder'。如果表名稱沒有空格,也可以省略單引號;Power Pivot 的字段用中括號包含,比如 [TxDate]。引用其他表的字段需要用完全標識符 (full-qualified identifier),比如 'Products'[CategoryName]。在公式欄或度量值輸入的時候,可以輸入單引號或中括號,Power Pivot 在輸入單引號或中括號后,給出表或字段的智能提示,能幫助公式輸入。
但 Power Pivot 并沒有直接獲取季度的函數(shù),可以用 FORMAT() 函數(shù),根據(jù)日期來獲得季度值:
TxQuarter = VALUE(FORMAT([TxDate], "Q"))
Format 函數(shù)的第二個參數(shù)值為 Q 表示返回季度, FORMAT()函數(shù)的返回值是文本型,所以再用 VALUE 函數(shù)轉(zhuǎn)換為數(shù)字。
添加數(shù)據(jù)透視圖
回到 Excel 工作表,通過下面的菜項添加 一個新的數(shù)據(jù)透視圖:

圖例選擇 Products 表的 BandName,值選擇 SalesOrder 表的 SalesAmount ,計算類型使用合計:
此時得到的數(shù)據(jù)透視圖如下,因為品牌比較多,最初的格式不太美觀,需要進行美化。
現(xiàn)在值字段顯示為「以下項目的總和:SalesAmount」,我們可以在值字段設(shè)置(右鍵菜單)調(diào)出下面的對話框進行修改。將值字段改為:銷售總額:
這個是 Excel 數(shù)據(jù)透視表就有的功能,Power Pivot 中有一個更好的方法:度量值。什么是度量值呢?可以簡單的理解為基于字段的計算值,但這個計算值非常靈活,能根據(jù)相關(guān)的條件(稱為上下文)對參與計算的數(shù)據(jù)進行篩選。
再進入 Power Pivot 界面,下圖紅線標記的部分就是建立度量值的區(qū)域:
選中 SalesAmount 列任意單元格,或者選中整列,然后在【主頁】選項卡中點擊【自動匯總】下拉框,選擇求和項,這樣就建好了一個度量值。
這個新添加的度量值,在公示欄顯示公式,在 SalesAmount 列下面的度量值區(qū)域顯示了計算的結(jié)果:
在公示欄將度量值的名稱改為:銷售額:
銷售額:=SUM([SalesAmount])
同樣的方法添加一個度量值:銷售數(shù)量,對 Qty 字段進行求和。
銷售數(shù)量:=SUM([Qty])
回到 Excel 界面,此時數(shù)據(jù)透視圖字段面板中,在 SalesOrder 表下面,多了兩個字段,前面有 fx 標識,這就是新添加的兩個度量值。
將銷售額度量值拖到值字段中,這個時候數(shù)據(jù)透視圖的效果與前面將 SalesAmount 拖到值字段類似,但值字段在透視圖中也顯示為銷售額,而不是「以下項目的總和:SalesAmount」。
接下來插入兩個切片器:年度和產(chǎn)品類別。選中數(shù)據(jù)透視圖,Excel 自動出現(xiàn)【數(shù)據(jù)透視圖分析】選項卡,點擊【插入切片器】菜單:

選擇 Products 表的 CategoryName 和 SalesOrder 表的計算字段 TxYear,將這兩個字段作為切片器。

可以對切換器的樣式、列數(shù)和標題等進行修改。我門對兩個切片器都改變標題,拖到合適的位置。在選中切片器的時候,Excel 自動出現(xiàn)【切片器】選項卡,在這里設(shè)置切片器的樣式以及切片器列的數(shù)量。
透視圖左邊 y 軸 數(shù)據(jù)精確到個位,可以改為以千元顯示。方法是選中左邊 y 軸,右鍵,選擇設(shè)置坐標軸格式菜單,右邊出現(xiàn)設(shè)置面板。將數(shù)字的類別設(shè)為「自定義」,將格式代碼改為
#,##0, 然后點擊添加按鈕:

數(shù)據(jù)就變成千元顯示格式了:
可以用同樣的方法添加一個按季度分析的數(shù)據(jù)透視圖,但更簡單的做法是從已經(jīng)添加的數(shù)據(jù)透視圖復制一個,再進行修改。我用復制的方法,很快添加第二個數(shù)據(jù)透視圖如下:
在數(shù)據(jù)透視圖的下面添加兩個數(shù)據(jù)透視表(操作參照上一篇),調(diào)整大小和位置,得到最終的輸出效果。
將切換器連接到報表
添加的切換器,并不是自動連接到所有數(shù)據(jù)數(shù)據(jù)透視表和數(shù)據(jù)透視圖,如果沒有關(guān)聯(lián),選中切片器后,在自動出現(xiàn)的【切片器】選項卡中,點擊【連接報表】菜單進行設(shè)置。
