次の方法で共有


ピボット解除変換

適用対象: SQL Server Azure Data Factory の SSIS Integration Runtime

ピボット解除変換は、単一のレコード内にある複数の列の値を、単一の列内で同じ値を持つ複数のレコードに展開することにより、正規化されていないデータセットを正規化されたバージョンに変換します。 たとえば、顧客名を一覧表示するデータセットに、顧客ごとに 1 つの行があり、製品と購入した数量がその行の列に表示されているとします。 ピボット解除変換がこのデータセットを正規化すると、データセットには、顧客が購入した各製品に対して異なる行が含まれるようになります。

次の図は、データが Product 列でピボット解除される前のデータセットを示しています。

ピボット解除後のデータセット

次の図は、データが Product 列でピボット解除された後のデータセットを示しています。

ピボット解除前のデータセット

状況によっては、ピボット解除された結果には予期しない値を持つ行が含まれる場合があります。 たとえば、図に示したサンプル データのピボット解除では、Fred のすべての Qty 列が NULL 値である場合、出力に含まれる Fred の行は 5 つではなく 1 つだけです。 Qty 列には、列データ型に応じて、NULL または 0 のいずれかが含まれます。

ピボット解除変換の構成

ピボット解除変換には、 PivotKeyValue カスタム プロパティがあります。 このプロパティは、パッケージの読み込み時にプロパティ式で更新できます。 詳細については、「Integration Services (SSIS) の式」、「パッケージでプロパティ式を使用する」、および「変換のカスタム プロパティ」を参照してください。

この変換は 1 つの入力と 1 つの出力をとります。 エラー出力はありません。

プロパティを設定するには SSIS デザイナーから行うか、またはプログラムによって設定します。

[詳細エディター] ダイアログ ボックスまたはプログラムで設定できるプロパティの詳細については、次のトピックのいずれかを参照してください。

データ フロー コンポーネントのプロパティの設定方法については、「 データ フロー コンポーネントのプロパティを設定する」を参照してください。

[ピボット解除変換エディター]

[ピボット解除変換エディター] ダイアログ ボックスを使用すると、行でピボットする列を選択したり、データ列および新しいピボット値出力列を指定したりできます。

注意

このトピックでは、「 Unpivot Transformation 」に示されているピボット解除の例に基づいて、オプションの使用方法を説明します。

オプション

使用できる入力列
チェック ボックスを使用して、行でピボットする列を指定します。

名前
使用できる入力列の名前を表示します。

[パススルー]
ピボット解除された出力に列を含めるかどうかを示します。

入力列
各行に対して使用できる入力列の一覧から選択します。 選択内容が [使用できる入力列] テーブルのチェック ボックスに反映されます。

Unpivot Transformation」のピボット解除の例では、入力列として、 Ham, Soda, Milk, Beer、および Chips の各列があります。

変換先列
データ列の名前を指定します。

ピボット解除変換」のピボット解除の例では、変換先列は数量 (Qty) 列です。

[ピボット キー値]
ピボット値の名前を指定します。 既定は入力列の名前です。一意のわかりやすい名前を付けることもできます。

このプロパティの値は、プロパティ式を使用して指定することができます。

Unpivot Transformation」のピボット解除の例では、ピボット値は、 [ピボット キー値の列名] オプションで指定された新しい Product 列のテキスト値 Ham, Soda, Milk, Beer、および Chipsとして表示されます。

[ピボット キー値の列名]
ピボット値列の名前を指定します。 既定では [ピボット キー値] になりますが、わかりやすい一意な名前を選択することもできます。

Unpivot Transformation」のピボット解除の例では、ピボット キー値列の名前は Product です。これは、 ProductProduct, Product, Product, Productの列のピボット解除が行われる新しい Product 列を示しています。

参照

Integration Services のエラーおよびメッセージのリファレンス
ピボット変換