共用方式為


樞紐轉換

樞紐轉換會將正規化數據集透過以某一列的值作為樞紐,轉換成較不正規化但更精簡的版本。 例如,列出所購買客戶名稱、產品和數量的標準化 Orders 數據集,對於購買多個產品的任何客戶,通常會有多個數據列,而該客戶的每個數據列都會顯示不同產品的訂單詳細數據。 藉由在產品欄位上進行樞紐分析,樞紐轉換可以輸出每個客戶各有一列數據的數據集。 該單一數據列會列出客戶的所有購買專案,其中產品名稱顯示為數據行名稱,而數量會顯示為產品數據行中的值。 因為並非每個客戶購買每個產品,因此許多數據行可能包含 Null 值。

當數據集樞紐化時,輸入數據行會在樞紐處理中執行不同的角色。 欄位可以以以下方式參與:

  • 欄位會以原樣傳遞至輸出。 因為許多輸入數據列只能產生一個輸出數據列,所以轉換只會複製數據行的第一個輸入值。

  • 欄位充當識別一組記錄的索引鍵或索引鍵的一部分。

  • 列定義旋轉。 此數據行中的值與樞紐數據集中的數據行相關聯。

  • 數據行包含放置在樞紐建立之數據行中的值。

此轉換有一個輸入、一個一般輸出和一個錯誤輸出。

排序和複製資料列

若要有效地進行樞紐分析,這意味著在輸出數據集中儘可能建立最少的記錄,必須先根據樞紐列對輸入數據進行排序。 如果未排序數據,Pivot 轉換可能會針對設定索引鍵中的每個值產生多個記錄,也就是定義集合成員資格的數據行。 例如,如果數據集在 Name 列上透視,但名稱未排序,則輸出數據集可能會有一個以上的行對應到每個顧客,因為每次 Name 中的值變更時都會發生透視。

輸入數據可能包含重複的數據列,這會導致樞紐轉換失敗。 「重複的數據列」表示在設定索引鍵數據行和樞紐數據行中具有相同值的數據列。 若要避免失敗,您可以設定轉換,將錯誤數據列重新導向至錯誤輸出,或者您可以預先匯總值,以確保沒有重複的數據列。

樞紐對話框中的選項

您可以在 [樞紐] 對話框中設定選項,以設定 樞紐 作業。 若要開啟 樞紐 對話框,請將樞紐轉換新增至 SQL Server Data Tools (SSDT)中的封裝,然後在該元件上按右鍵,並點選 編輯

下列清單描述 [ 樞紐 ] 對話框中的選項。

樞紐鍵
指定要用於資料表頂端資料列 (標頭數據列) 值的數據行。

設定索引鍵
指定要用於資料表左欄的值的欄位。 須於此欄排序輸入日期。

樞紐值
指定要用於數據表的欄位,但不包括標頭列中的值和左側欄位中的值。

忽略不相符的樞紐索引鍵值,並在數據流執行之後報告它們
選取此選項可設定 Pivot 轉換,以忽略 樞紐索引鍵 數據列中包含無法辨識值的數據列,並在執行封裝時將所有樞紐索引鍵值輸出至記錄訊息。

您也可以將轉換設定為輸出值,方法是將PassThroughUnmatchedPivotKeys自訂屬性設定為True

從值產生樞紐輸出數據行
在此方塊中輸入樞紐鍵值,讓樞紐轉換用於每個值的建立輸出欄位。 您可以在執行封裝之前輸入值,或執行下列動作。

  1. 選取 [忽略不相符的樞紐索引鍵值並在數據流執行後回報它們] 選項,然後在 樞紐 對話方塊中按一下 [確定] 以儲存到樞紐轉換的變更。

  2. 執行封裝。

  3. 當封裝成功時,點擊進度索引標籤,然後尋找樞紐轉換中包含樞紐索引鍵值的資訊記錄訊息。

  4. 以滑鼠右鍵按兩下訊息,然後按下 [ 複製訊息文字]。

  5. 單擊 [偵錯] 功能表上的 [停止偵錯] 以切換至設計模式。

  6. 以滑鼠右鍵按一下樞紐轉換,然後按一下編輯

  7. 取消選取 忽略不相符的樞紐索引鍵值 選項,然後在數據流執行後回報這些值,接著使用下列格式,將樞紐索引鍵值貼到 從值生成樞紐輸出欄 方塊中。

    [value1],[value2],[value3]

立即產生數據行
按一下以針對 從值產生樞紐輸出欄 方塊中列出的每個樞紐索引鍵值建立輸出欄。

輸出欄位會出現在 現有樞紐輸出欄位 方塊中。

現有的樞紐輸出數據行
列出樞紐索引鍵值的輸出數據行

下表顯示在透過 Year 欄位旋轉之前的數據集。

產品名稱 總數
2004 HL Mountain Tire 1504884.15
2003 路輪胎管 35920.50
2004 水瓶 - 30 盎司。 2805.00
2002 旅行輪胎 62364.225

下表顯示以 Year 欄為基礎的樞紐分析之後的數據集。

2002 2003 2004
HL Mountain Tire 141164.10 446297.775 1504884.15
路輪胎管 3592.05 35920.50 89801.25
水瓶 - 30 盎司。 2805.00
旅行輪胎 62364.225 375051.60 1041810.00

若要在 Year 欄位上進行數據的樞紐分析,如上所示,可在 樞紐 對話框中設定以下選項。

  • 在 [ 樞紐索引鍵 ] 列表框中選取年份。

  • [ 設定金鑰 ] 清單框中已選取 [產品名稱]。

  • 在 [ 樞紐值] 列表框中選取總計。

  • 下列值會在 [ 從值產生樞紐輸出數據行 ] 方塊中輸入。

    [2002],[2003],[2004]

樞紐轉換的設定

您可以透過 SSIS 設計師或以程式設計方式設定屬性。

如需您可以在 [ 進階編輯器] 對話框中設定之屬性的詳細資訊,請按下列其中一個主題:

如需如何設定此元件屬性的詳細資訊,請參閱 設定數據流元件的屬性

另請參閱

反樞紐轉換
數據流
Integration Services 轉換