コンテンツにスキップ

横長で短いデータテーブルを、縦長で幅の狭いデータテーブルに変換するために使用します。選択した列が転置され、列名が複数の行にわたる値に変換されます。

最もわかりやすい例は、列ヘッダーとして月が並んでいるデータテーブルです。

このデータテーブルをピボット解除すると、すべての月の列が行に変換されます。

横長(変換前)ProductJanFebWidget1020Gadget58ピボット解除縦長(変換後)ProductMonthValueWidgetJan10WidgetFeb20GadgetJan5GadgetFeb8
ピボット解除(アンピボット)は横長を縦長に変換します。Jan/Feb 列は、そのまま残す列をキーとして、Month と Value の行にまとめられます。

転置する列とそのまま残す列を指定することで、強力なツールになります。ほかのETLツールでこの変換を行うには、さらに十数個のステップが必要になる場合があります。

ソースとターゲットのパラメーター

Section titled “ソースとターゲットのパラメーター”

Table Melt Source Target

ソースとターゲットを設定するには、まず ソーステーブル のドロップダウンメニューから、抽出元のデータテーブルを選択します。

ターゲットテーブル

テーブルのターゲット

ターゲットテーブルを設定するには、ターゲットテーブルドロップダウンから既存のテーブルを選択するか、緑色の “+” 記号をクリックして新しいテーブルをターゲットとして作成します。

テーブルの作成

新しいテーブルを作成するときは、ビューまたはテーブルのどちらとして作成するかを選択できます。

ビュー:

ビューは、テーブルを使用する場合に比べてステップの実行時間が大幅に短くなる点で便利です。短所は、テーブルの詳細モードでのデータ探索には向かないことです。

テーブル:

ターゲットにテーブルを使用すると、ステップの実行には時間がかかりますが、詳細モードでのデータ探索はビューよりもはるかに高速です。

ピボット解除前のテーブルデータの選択

Section titled “ピボット解除前のテーブルデータの選択”

Table Pre-Melt

このセクションは、標準のテーブルデータの選択とは少し異なります。基本的に、ピボット解除の操作で使用する列を指定するために使用します。これには、ID列と変数列/値列が含まれます。

ソーステーブルを選択した状態で、ソース列またはターゲット列のどちらかが指定されていないまま保存すると、両方のマッピングテーブルを入力 を選択した場合と同様に、空の側がソースから入力されます。

柔軟性を最大限に高めるために、ソースデータとターゲットデータの両方でデータフィルターを使用できます。特に大規模なデータセットでは、ソースで行をフィルターして除外しておくと、以降の操作を小さなデータセットに対して実行できるため、有効です。

ソースデータのサブセットを選択

Section titled “ソースデータのサブセットを選択”

データのサブセットを指定するには、有効なPython式であれば何でも使用できます。詳細と例については、式を参照してください。

結果データに二次フィルターを適用

Section titled “結果データに二次フィルターを適用”

データのサブセットを指定するには、有効なPython式であれば何でも使用できます。詳細と例については、式を参照してください。

最終データテーブルのスライス(制限)

Section titled “最終データテーブルのスライス(制限)”

データを制限するには、行スライサーを適用 ボックスをオンにして、次の項目を指定します。

  • スキップする先頭行数: スキップするデータの行数です(列ヘッダー行はカウントに含まれません)。
  • 終了行: 含める最後のデータ行です。末尾の行数を数えて削除する場合とは異なります。

Table Melt Layout

Guess Layout ボタンを使用すると、Analyzeが最初にID列の指定を試みます。デフォルトでは、すべてのテキスト列(データ型が 文字列)が キー セクションに配置されます。数値列はデフォルトでは キー に配置されませんが、モデルのニーズに応じて配置できます。

ID列は、そのまま残る列です。これらの列は、変数と値の組み合わせの数だけ実質的に繰り返されます。月次テーブルの場合、ID列が12回繰り返されることになります。

ID列は自動または手動で追加できます。自動で追加するには、前述の Guess Layout ボタンを使用します。手動で列を追加するには、セクション内の任意の場所を右クリックし、行を挿入 または 行を追加 を選択して、それぞれ現在選択されている行の前、または末尾に行を追加します。続いて、IDとして使用する列名を入力します。

ID からフィールドを削除するには、右クリックして 削除 を選択します。

指定する値は2つあります。どちらの値も、ターゲットのデータテーブルの列名になります。

  • 変数列名: 変換で指定されているとおり、変数名は現在のソース列名から取得されます。基本的に、ソースのデータテーブルの列で元々表されていたデータを表す列名を指定します。
  • 値列名: ソースのデータテーブル内のデータを表す列名を指定します。通常は、ドル、ポンド、度、パーセントなどの数値の単位になります。

その他のアンピボットオプション には、次のフィールドがあります。

  • ステップ実行時にテーブルにある他のすべての列もアンピボットする(melt_all_columns)— ステップが列挙しておらず、ID列でもない、ステップ実行時にソーステーブルにあるすべての列も、テーブルにある順序でアンピボットします。
  • 位置列の名前(position_name)— この名前の列も書き込みます。この列には、値列の中での各行の値列の0から始まる位置が入ります。
  • 型列の名前(type_name)— この名前の列も書き込みます。この列には、各行の値列のデータ型(integer、numeric、text、boolean、date、timestamp など)が入ります。

上記のドキュメントを参照してください。