共用方式為


樞紐轉換

「樞紐」轉換可藉由樞紐資料行值上的輸入資料,將正規化的資料集轉換為較不正規但更精簡的版本。 例如,列出客戶名稱、產品及購買數量的正規化 Orders 資料集,對於購買多個產品的客戶一般都具有多個資料列,且該客戶的每個資料列都顯示不同產品的訂單詳細資料。 藉由樞紐產品資料行上的資料集,「樞紐」轉換可以為每位客戶輸出含單一資料列的資料集。 該單一資料列會列出客戶購買的所有產品,產品名稱顯示為資料行名稱,而數量則顯示為產品資料行中的值。 因為不是每位客戶都會購買所有產品,所以許多資料行可能包含 Null 值。

當樞紐資料集時,輸入資料行會在樞紐處理中執行不同的角色。 資料行的參與方式如下:

  • 資料行未經變更便傳送至輸出。 因為許多輸入資料列只產生一個輸出資料列,所以轉換僅複製資料行的第一個輸入值。

  • 資料行用作識別一組記錄的索引鍵或索引鍵的一部分。

  • 資料行定義樞紐。 此資料行中的值與已樞紐之資料集中的資料行關聯。

  • 資料行包含樞紐建立之資料行中的值。

這個轉換有一個輸入、一個規則輸出及一個錯誤輸出。

排序和複製資料列

若要有效地樞紐資料 (即在輸出資料集中建立盡可能少的記錄),輸入資料必須根據樞紐資料行進行排序。 如果資料未排序,「樞紐」轉換可能會為集索引鍵 (定義集成員資格的資料行) 中的每個值產生多筆記錄。 例如,如果資料集在 Name 資料行上進行樞紐但名稱未排序,則輸出資料集中的每位客戶可能會一個以上的資料列,因為 Name 中的值在每次變更時都會進行樞紐。

輸入資料可能會包含重複資料列,因而造成「樞紐」轉換失敗。" 「重複資料列」表示集索引鍵資料行及樞紐資料行中有相同值的資料列。 若要避免失敗,您可以設定轉換,而將錯誤資料列重新導向至錯誤輸出,也可以預先彙總值,以確定沒有重複資料列。

樞紐對話方塊中的選項

您可以在 [樞紐] 對話方塊中設定選項,以設定樞紐作業。 若要開啟 [樞紐] 對話方塊,請將樞紐轉換加入至 SQL Server Data Tools (SSDT) 中的封裝,然後以滑鼠右鍵按一下元件,再按一下 [編輯]

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

  • 樞紐索引鍵
    指定要用於跨資料表頂端列 (標頭資料列) 之值的資料行。

  • 設定索引鍵
    指定要用於資料表左側資料行之值的資料行。 輸入日期必須儲存在此資料行上。

  • 樞紐值
    指定要用於跨資料表值 (非標頭資料列或左側資料行中的值) 的資料行。

  • 忽略不相符的樞紐索引鍵值,並在 DataFlow 執行後回報
    選取此選項可將樞紐轉換設定為忽略包含 [樞紐索引鍵] 資料行中未辨識之值的資料列,並在執行封裝時,將所有樞紐索引鍵值輸出至記錄訊息。

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

  • 根據值產生樞紐輸出資料行
    在此方塊中輸入樞紐索引鍵值,讓樞紐轉換針對每個值建立輸出資料行。 您可以在執行封裝之前輸入值,或執行下列操作。

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

    2. 執行封裝。

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

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

    5. 按一下 [偵錯] 功能表上的 [停止偵錯] 以切換到設計模式。

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

    7. 取消核取 [忽略不相符的樞紐索引鍵值,並在 DataFlow 執行後回報] 選項,然後使用下列格式,將樞紐索引鍵值貼到 [根據值產生樞紐輸出資料行] 方塊中。

      [value1],[value2],[value3]

  • 立即產生資料行
    按一下以便針對 [根據值產生樞紐輸出資料行] 方塊中列出的每個樞紐索引鍵值,建立輸出資料行。

    輸出資料行會出現在 [現有的樞紐輸出資料行] 方塊中。

  • 現有的樞紐輸出資料行
    列出樞紐索引鍵值的輸出資料行

下表顯示資料在資料行上樞紐之前的資料集。

產品名稱

總計

2004

HL Mountain Tire

1504884.15

2003

Road Tire Tube

35920.50

2004

Water Bottle – 30 oz.

2805.00

2002

Touring Tire

62364.225

下表顯示資料在 Year 資料行上進行樞紐之後的資料集。

2002

2003

2004

HL Mountain Tire

141164.10

446297.775

1504884.15

Road Tire Tube

3592.05

35920.50

89801.25

Water Bottle – 30 oz.

NULL

NULL

2805.00

Touring Tire

62364.225

375051.60

1041810.00

若要在資料行上樞紐資料 (如上所示),則會在 [樞紐] 對話方塊中設定下列選項。

  • 年在 [樞紐索引鍵] 清單方塊中呈選取狀態。

  • 產品名稱在**[設定索引鍵]** 清單方塊中呈選取狀態。

  • 總計在 [樞紐值] 清單方塊中呈選取狀態。

  • [根據值產生樞紐輸出資料行] 方塊中會輸入下列值。

    [2002],[2003],[2004]

設定樞紐轉換

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

如需有關 [進階編輯器] 對話方塊中可設定屬性的詳細資訊,請按一下下列其中一個主題:

相關內容

如需如何設定此元件屬性的詳細資訊,請參閱<設定資料流程元件的屬性>。

相關內容

Integration Services 圖示 (小) 掌握 Integration Services 的最新狀態

若要取得 Microsoft 的最新下載、文件、範例和影片以及社群的精選解決方案,請瀏覽 MSDN 上的 Integration Services 頁面:


若要得到這些更新的自動通知,請訂閱該頁面上所提供的 RSS 摘要。

請參閱

概念

取消樞紐轉換

資料流程

Integration Services 轉換