Tableau Prep Builder(タブロープレップ)のピボットの使い方を紹介します。テーブルの縦持ちと横持ちの説明、縦持ちから横持ち(行から列)の変換方法、横持ちから縦持ち(列から行)の変換方法やワイルドカード検索によるピボット方法などを解説しています。
テーブルの縦持ち?横持ち?
まずはテーブルの「縦持ち」と「横持ち」とはそれぞれ下図のようなイメージになります。属性データと値データの位置を変えることで変換することができます。
縦持ち・横持ちの特徴
縦持ちと横持ち(クロス集計表)を比較した場合の特徴とメリット・デメリットは以下の通りです。
項目 | 縦持ち | 横持ち |
---|---|---|
テーブル形式 | 縦に長い | 横に長い |
データ更新 | 簡単 | 大変 |
可視化 | 簡単 | 大変 |
NULL発生 | 少ない | 多い |
データ視認性 | 悪い | 良い |
縦持ちテーブル
- 縦に長い形式:属性データが列に格納されるので、データが縦方向(行方向)に蓄積されていく
- データ更新が簡単:新しいカテゴリのデータを追加する場合は行を追加すればOK
- 可視化が簡単:列が集計対象ごとに分割されているのでBIツールでの可視化が簡単
- NULLが発生しづらい:データ未取得の場合は行が追加されないのでNULLが発生しづらい
- テーブル上での視認性が悪い:データが1列に格納されるためデータの比較がしづらい
横持ちテーブル
- 横に広がる形式:各列に異なる属性データが格納されるので、データが横方向(列方向)に蓄積されていく
- データ更新が大変:新しいカテゴリのデータを追加する場合は新しい列を追加しないといけない
- 可視化が大変:列に複数の集計対象が含まれるのでBIツールでの可視化が行いにくい
- NULLが発生しやすい:全データ文の枠が用意されるため、NULLのセルが発生しやすい
- テーブル上での視認性が良い:データが行と列に分かれて格納されるためデータの比較がしやすい
Sponsored link
縦から横(行から列)へピボット
下図のように縦持ちのテーブルを横持ちのテーブルに変換する方法を紹介します。このテーブル変換には「行から列」のピボットを利用します。
- 処理フローにピボットを追加する。
- 「ピボットされたフィールド」の横にあるピボット設定を「▼」をクリックして「行から列」にする。
- 「行を列にピボットするフィールド」にテーブルの列名となる列をドロップする。ここでは「日付」をセットする。
※セットするフィールドのデータ型は文字列型にする。 - 「新しい列の集計フィールド」にテーブルの値となる列をドロップする。ここでは「売上」をセットする。
「新しい列の集計フィールド」にあるフィールドの集計方法の部分をクリックして任意の方法を設定します。ここでは「SUM」のままとします。
以上で、列から行のピボットは完了です。下図のようにデータが横持ちになっています。
Sponsored link
横から縦(列から行)へピボット
下図のように横持ちのテーブルを縦持ちのテーブルに変換する方法を紹介します。このテーブル変換には「列から行」のピボットを利用します。
【手順】
- 処理フローにピボットを追加する。
- 「ピボットされたフィールド」の横にあるピボット設定を「▼」をクリックして「列から行」にする。
列から行に変換したいデータを「ピボットされたフィールド」にドロップする。複数列のセットが可能です。
ここでは2024/4/1~2024/6/1の列をすべてセットする。
ピボットした列は「ピボット*の名前」、「ピボット*の値」といった名前になるので列名部分をダブルクリックして任意の列名に変更します。ここでは「売上」「日付」に変更しています。
※列順もここで変更可能です。
以上で、列から行のピボットは完了です。下図のようにデータが縦持ちになっています。
Sponsored link
ワイルドカード検索によるピボット(列から行)
ピボット処理では列名を指定してピボットを行っているため、データソースが更新されて新しい列やが追加された場合に新規データを処理することができません。
下図はピボット設定を行った後、データソースを更新して「2024/7/1」列が追加された画面です。新しく追加された2024/7/1がピボットする列の対象になっていないのがわかります。
そのような場合は「ワイルドカード検索を使用してピボットする」を利用すると対応が可能です。
ワイルドカードとは複数データの中で共通している部分を指しており、共通する文字を設定することで自動的に使うデータを選択してくれる機能です。
【利用手順】
- 処理フローにピボットを追加する。
- ピボットされたフィールドに表示されている「ワイルドカード検索を使用してピボットする」を選択する。
利用する列名やデータ項目に共通する文字(値)を入力してEnterを押す。ここでは、すべての列に共通する / を入力します。
入力欄の横の「・・・」をクリックするとワイルドカードの一致条件を選択可能です。
2024/7/1の新規データを更新した読み込ませてフローの確認をします。下図のように新しく入ったデータもピボットの対象になっています。
Sponsored link
まとめ
今回はTableau Prepのピボットの使い方を紹介しました。その他のTableau Prepの処理ステップの使い方や目的別の対応方法なども解説していますのでご参考にしてください。
Tableau(タブロー)の学習本についてはコチラの記事でまとめてますので参考にしてみてください。
Tableau prep おすすめ学習書
コメント