Excel Power Pivot - 層次結構



資料模型中的層次結構是在資料表中巢狀列的列表,在 Power Pivot 表中使用時,這些列被視為單個專案。例如,如果資料表中包含國家、省份、城市列,則可以定義層次結構將這三列組合成一個欄位。

在 Power Pivot 表字段列表中,層次結構顯示為一個欄位。因此,您可以只向資料透視表新增一個欄位,而不是層次結構中的三個欄位。此外,它使您可以以有意義的方式向上或向下移動巢狀級別。

考慮本章插圖的以下資料模型。

Hierarchies

建立層次結構

您可以在資料模型的圖表檢視中建立層次結構。請注意,您只能基於單個數據表建立層次結構。

  • 按順序單擊資料表 Medal 中的列 - 運動專案、專案 ID 和賽事。請記住,順序對於建立有意義的層次結構非常重要。

  • 右鍵單擊所選內容。

  • 從下拉列表中選擇“建立層次結構”。

Create Hierarchies

將建立具有三個選定欄位作為子級別的層次結構欄位。

Hierarchy Field

重新命名層次結構

要重新命名層次結構欄位,請執行以下操作:

  • 右鍵單擊 Hierarchy1。

  • 從下拉列表中選擇“重新命名”。

Renaming Hierarchy

鍵入EventHierarchy

Event Hierarchy

使用資料模型中的層次結構建立資料透視表

您可以使用在資料模型中建立的層次結構來建立 Power Pivot 表。

  • 單擊 Power Pivot 視窗中功能區上的“資料透視表”選項卡。

  • 單擊功能區上的“資料透視表”。

Hierarchy in Data Model

將出現建立資料透視表對話方塊。選擇“新建工作表”,然後單擊“確定”。

Select New Worksheet and Click Ok

將在新工作表中建立一個空資料透視表。

PivotTable Empty

在“資料透視表字段”列表中,EventHierarchy顯示為 Medals 表中的一個欄位。Medals 表中的其他欄位已摺疊並顯示為“更多欄位”。

  • 單擊EventHierarchy前面的箭頭箭頭

  • 單擊“更多欄位”前面的箭頭箭頭

將顯示 EventHierarchy 下的欄位。Medals 表中的所有欄位都將顯示在“更多欄位”下。

Under EventHierarchy

您可以看到,新增到層次結構的三個欄位也顯示在更多欄位下,並帶有複選框。如果您不希望它們顯示在更多欄位下的“資料透視表字段”列表中,則必須在 Power Pivot 視窗的資料檢視中隱藏資料表 – Medals 中的列。您可以隨時取消隱藏它們。

按如下方式將欄位新增到資料透視表:

  • EventHierarchy拖到“行”區域。

  • 將獎牌拖到“∑ 值”區域。

Drag EventHierarchy

運動專案欄位的值將顯示在資料透視表中,其前面帶有 + 號。將顯示每種運動專案的獎牌數量。

  • 單擊水上運動專案前面的 + 號。將顯示水上運動專案下的“專案 ID”欄位值。

  • 單擊出現的子項 D22。“賽事”欄位值將顯示在 D22 下。

DisciplineID

您可以看到,給出了賽事的獎牌數量,這些數量在其父級 -專案 ID處累加,然後在其父級 - 運動專案處進一步累加。

基於多個表建立層次結構

假設您希望在資料透視表中顯示專案而不是專案 ID,以使其更易於閱讀和理解。為此,您需要在 Medals 表中擁有專案欄位,但您知道它不存在。專案欄位位於專案資料表中,但您無法使用多個表中的欄位建立層次結構。但是,有一種方法可以從其他表中獲取所需的欄位。

您知道,表 - Medals 和專案是相關的。您可以透過使用 DAX 建立列,將專案資料表中的專案欄位新增到 Medals 表中。

  • 單擊 Power Pivot 視窗中的資料檢視。

  • 單擊功能區上的“設計”選項卡。

  • 單擊“新增”。

表右側的列 - 新增列突出顯示。

在公式欄中鍵入 = RELATED (Disciplines [Discipline])。將建立一個新列 - CalculatedColumn1,其值為專案資料表中的專案欄位值。

Discipline Field

將 Medals 表中獲得的新列重新命名為專案。接下來,您必須從層次結構中刪除專案 ID 並新增專案,這將在以下部分中學習。

從層次結構中刪除子級

您可以看到,層次結構僅在圖表檢視中可見,而不是在資料檢視中可見。因此,您只能在圖表檢視中編輯層次結構。

  • 單擊 Power Pivot 視窗中的圖表檢視。

  • 右鍵單擊 EventHierarchy 中的專案 ID。

  • 從下拉列表中選擇從層次結構中移除

Remove from Hierarchy

將出現“確認”對話方塊。單擊從層次結構中移除

Confirm dialog box

專案 ID 欄位將從層次結構中刪除。請記住,您已從層次結構中刪除了該欄位,但源欄位仍然存在於資料表中。

接下來,您需要將專案欄位新增到 EventHierarchy。

向層次結構新增子級

您可以按如下方式將專案欄位新增到現有層次結構 - EventHierarchy:

  • 單擊 Medals 表中的欄位。

  • 將其拖到 EventHierarchy 中的賽事欄位下方。

Adding Child Level

專案欄位將新增到 EventHierarchy。

Field Added

您可以看到,EventHierarchy 中的欄位順序為運動專案-賽事-專案。但是,您知道它應該是運動專案-專案-賽事。因此,您需要更改欄位的順序。

更改層次結構中子級的順序

要將專案欄位移動到運動專案欄位之後,請執行以下操作:

  • 右鍵單擊 EventHierarchy 中的專案欄位。

  • 從下拉列表中選擇“上移”。

Order of Child Level

欄位順序將更改為運動專案-專案-賽事。

Fields Order

層次結構更改後的資料透視表

要檢視在資料透視表中對 EventHierarchy 所做的更改,您無需建立新的資料透視表。您可以在現有資料透視表中檢視它們。

單擊 Excel 視窗中包含資料透視表的工作表。

Click on Worksheet

您可以看到,在“資料透視表字段”列表中,EventHierarchy 中的子級反映了您在資料模型中對層次結構所做的更改。這些更改也會相應地反映在資料透視表中。

單擊資料透視表中水上運動專案前面的 + 號。子級將顯示為專案欄位的值。

Fields List

隱藏和顯示層次結構

您可以選擇隱藏層次結構,並在需要時顯示它們。

  • 取消選中圖表檢視頂部選單中的層次結構框以隱藏層次結構。

  • 選中層次結構框以顯示層次結構。

Hiding and Showing Hierarchy

以其他方式建立層次結構

除了在前面各節中建立層次結構的方式外,您還可以透過另外兩種方式建立層次結構。

1. 單擊圖表檢視中 Medals 資料表右上角的“建立層次結構”按鈕。

Create Hierarchy

將在表中建立一個新的層次結構,其中沒有任何欄位。

New Hierarchy in Table

按順序將年份和季節欄位拖到新的層次結構中。層次結構將顯示子級。

Fields Year

2. 建立相同層次結構的另一種方法如下:

  • 右鍵單擊圖表檢視中 Medals 資料表中的年份欄位。

  • 從下拉列表中選擇“建立層次結構”。

Same Hierarchy

將在表中建立一個新的層次結構,其中年份作為子欄位。

Child Field

將季節欄位拖到層次結構中。層次結構將顯示子級。

Field Season

刪除層次結構

您可以按如下方式從資料模型中刪除層次結構:

  • 右鍵單擊層次結構。

  • 從下拉列表中選擇“刪除”。

Deleting Hierarchy

將出現確認對話方塊。單擊從模型中刪除

Delete From Model

層次結構將被刪除。

Hierarchy Deleted

使用層次結構進行計算

您可以使用層次結構建立計算。在 EventsHierarchy 中,您可以按如下方式將子級的獎牌數量顯示為其父級獎牌數量的百分比:

  • 右鍵單擊賽事的“獎牌計數”值。

  • 從下拉列表中選擇“值欄位設定”。

Calculations Using Hierarchy

將出現“值欄位設定”對話方塊。

  • 單擊“顯示值方式”選項卡。

  • 從列表中選擇“父行總計的百分比”,然後單擊“確定”。

Field Settings

子級將顯示為父級總計的百分比。您可以透過將父級的子級百分比值加起來來驗證這一點。總和將為 100%。

Parent Totals

向上和向下鑽取層次結構

您可以使用快速瀏覽工具快速向上和向下鑽取層次結構中的各個級別。

  • 單擊資料透視表中賽事欄位的值。

  • 單擊快速瀏覽工具 - 瀏覽工具,該工具顯示在包含所選值的單元格的右下角。

Drilling Up

顯示包含向上鑽取的探索框選項。這是因為從“事件”級別只能向上鑽取,因為它下面沒有子級別。

單擊向上鑽取

Click Drill Up

資料透視表資料向上鑽取到“學科”級別。

Drilled Up

單擊單元格值右下角出現的快速探索工具 - 探索工具

顯示包含向上鑽取和向下鑽取選項的探索框。這是因為從“學科”級別,您可以向上鑽取到“運動”級別,或向下鑽取到“事件”級別。

Explore Box

這樣,您可以快速在層次結構中上下移動。

廣告