コンテンツにスキップ

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

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

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

縦長(変換前)ProductMonthValueWidgetJan10WidgetFeb20GadgetJan5GadgetFeb8ピボット横長(変換後)ProductJanFebWidget1020Gadget58
ピボットは縦長を横長に変換します。Month の値が Jan/Feb 列になります。これはピボット解除の逆の操作です。

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

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

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

Table Pivot Source Target

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

ターゲットテーブル

テーブルのターゲット

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

テーブルの作成

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

ビュー:

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

テーブル:

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

列ヘッダーに変換するカテゴリ列 では、ソーステーブルのうち、行にピボットされる列を指定します。 列の値にピボットする値列 は、ソーステーブルの値を含む列です。 値の集計オプション では、データをどのように集計するかを指定します。

両方の列が、テーブルデータの選択 タブでステップの出力列に含まれている必要があります。含まれていない場合、たとえば The category column ‘month’ isn’t one of the step’s output columns. というメッセージが表示され、保存が拒否されます。

フォームには次のフィールドもあります。

  • 各カテゴリの位置を保持する列(column_order)— 各カテゴリの位置を保持するソース列です。ピボットされた列は、名前順ではなく、この列の昇順で並びます。この列でグループ化されることも、書き込まれることもありません。
  • ピボット列名のテンプレート(column_name_template)— ピボットされた各列に、このテキストで名前を付けます。{value} はカテゴリの値に置き換えられます。たとえば {value}+Sum のように指定します。

Table Pivot Data Selection

テーブルデータの選択タブは、ソースのデータテーブルの列をターゲットのデータテーブルにマッピングするために使用します。ウィンドウの左側にあるすべてのソース列は、ウィンドウの右側に表示されるターゲットのデータテーブルに自動的にマッピングされます。ソースを検査 メニューボタンを使用すると、ソースからターゲットに列をマッピングする方法が、さらにいくつかあります。

  • 両方のマッピングテーブルを入力: ソースのデータテーブルのすべての値をターゲットのデータテーブルに反映します。これがデフォルトです。
  • ソースマッピングテーブルのみを入力: ソースのデータテーブルのすべての値のみをマッピングします。ソースの列構造が変更された際に、既存のワークフローを変更する場合に役立ちます。
  • ターゲットマッピングテーブルのみを入力: すべての値をターゲットのデータテーブルにのみ反映します。

これらの各オプションに加えて、どの選択肢でもソースデータをプレビューできます。

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

ソースとターゲットの列のオプションだけでは足りない場合は、いくつかの方法でターゲットのデータテーブルに列を追加できます。

  • すべてを反映 は、すでに存在するかどうかにかかわらず、すべてのソース列をターゲットのデータテーブルに挿入します。
  • 選択を反映 は、選択したソース列のみを挿入します。
  • ターゲット側を右クリックし、行を挿入 を選択すると、現在選択されている行のすぐ上に行を挿入します。
  • ターゲット側を右クリックし、行を追加 を選択すると、ターゲットのデータテーブルの末尾(右端)に行を挿入します。

ターゲットのデータテーブルから列を削除するには、削除する列を選択し、右クリックして 削除 を選択します。

ターゲットのデータテーブルの列を並べ替えるには、対象の列を選択し、右クリックして 先頭へ移動、上へ移動、下へ移動、末尾へ移動 のいずれかを選択します。

重複しない結果のみを返すには、重複排除 メニューオプションを選択します。ソースの各列にチェックボックスのセットが表示されます。対応する列の横にあるボックスをオンにするだけで、重複しない結果のみが返されます。

結果を集計するには、集計 メニューオプションを選択します。ターゲットのデータテーブルの各列にドロップダウンボックスのセットが表示されます。次の集計オプションを使用できます。

  • グループ化(デフォルトで設定)
  • 合計
  • 最小
  • 最大
  • 最初
  • 最後
  • カウント
  • 平均
  • 中央値
  • 最頻値
  • 標準偏差
  • 分散
  • 積
  • 絶対値
  • 分位数
  • 歪度
  • 尖度
  • 平均絶対偏差
  • 累積合計
  • 累積最小
  • 累積最大
  • 累積積

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

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

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

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

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

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

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

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

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