見出し画像

Tableau Prepの作業を変えるTips集19 ーPivot (列から行、行から列)ー

Tableau Prepユーザー会のNakajima2です。
Japan Preppin Data FamメンバーのPrep Tips集をご紹介します。
今回は、データを横持ちから縦持ちに変換する際に便利なPivot機能をご紹介。

Tableau Desktopでも利用できるPivot機能。データ接続時に、日付など月ごとに並んだデータを横持ちから縦持ちに変更する処理をされた方は多いのではないでしょうか?
Desktopでは、Pivot処理は1回だけ実施する事が出来ますが、PrepではPivot処理は複数回実施する事が可能であり、更に縦持ちデータを横持ちに変更することも可能です。
Excelなどでクロス集計され、セルが結合されている表などを前処理加工する際に役立つケースも多くあります。
覚えておくととても便利な機能です。

Prep Tips (37) : Pivot (列から行、行から列)

今回は、Preppin’ Data 2024W31の課題から説明します。オリンピックシーズンで、女子七種競技データを前処理加工する課題です。
Excelのクロス集計表で、セル結合されたデータがある実務でもあるあるの処理に準じる課題となっています。

2024W31課題のフロー例は、次の通りです。
この例では、Pivotを2回、最初は「列から行」、2回目は「行から列」を利用してデータ処理を行なっています。

2024W31課題のフロー例 2種のPivotを利用している

1)列から行

上記フローの1回目Pivot処理になります。
横持ちとなっているデータを、「列から行」のPivotで縦持ちに変換する作業です。課題では、次の七種競技データをPivotで変換します。

Pivot処理前の横持ちデータ

このデータを、Pivotの設定メニューから、画面右上の「列から行」を選択し、縦持ちに変換したいフィールド(今回は七種競技の略称名を示すフィールド)を「ピボットされたフィールド」欄にドラッグ&ドロップで落とし込みます。

Pivot「列から行」の設定メニュー

この処理で、七種競技のフィールドが[Event] フィールドに、各競技の結果が[Result]に縦持ち変換されました。

Pivot後の変換結果

「列から行」のPivot処理は、処理のフロー中に複数回利用することが可能です。データ処理の状況に応じ、データの縦持ち化を適宜利用しデータ処理の高速化などを図ることができます。

2) 行から列

前述フローで2回目に行うPivot処理になります。
データを横持ち化する処理になり、TableauではPrepでのみ利用出来る機能になります。
加工データをクロス集計表の形式で見やすく提示する際や、Tableau以外のデータベースシステムなどに加工データを渡す際の送り先システムが要求する書式に揃えるための処理として利用価値があります。

Pivot前のデータ [Breakdown] フィールドにある3つのデータで仕分けしたい

1)で処理したデータを、[Breakdown] フィールドにある3つのデータ(「Event Score」、「Event Time/Distance」、「Rolling Total」)で仕分けして横持ちデータに変更したい際の処理になります。

Pivot「行から列」の設定メニュー

「行から列」のPivot処理は、横持ちにさせたいフィールド(ここでは[Breakdown] )と、それに合わせ集計させたいフィールド([Result])を所定欄にドラッグ&ドロップで落とし込むことで実施出来ます。
[Result]を集計させていますが、今回は[Result]フィールドが文字列形式であったため、MINで集計することでそのまま文字列の値を表示する処理としています

「行から列」のPivot処理結果 3つのデータがフィールドとして横に並んでいます

Prep Tips (38) : Pivot 複数の変数を同時設定して列と行を入れ替える

このTipsは、第8回 Tableau Prepユーザー会〜Preppin' Data勉強会から学んだPrep活用のヒント〜(2023/11/09) のインベントで登壇者のNakamuraさんからご紹介頂いたものになります。
Preppin’Data 2023W38の課題を利用してご説明します。最近、企業でも注目されているSDG'sに関する話題からPivotを活用した課題でした。

ご存知の方も多いと思いますが、SDG’sは、17つの目標に対する国や企業単位での取り組み度を示した指標です。
課題のデータでは、データソースのExcelファイルに17つの目標の評価、および前回評価からの変化をそれぞれ色と矢印で示したデータになっていました。
この2つの変数を横持ちから縦持ちのデータに変換する処理でPivotを用いています。

データソースのExcelファイルの状態

通常は、フローを分割してそれぞれPivot処理をしていた

2つの変数に対して、通常のPivot処理ではフローを分岐し、色と矢印の変数を分けてそれぞれPivot処理を行なっていました。概要は、次の通りです。

Excelファイルをデータインタプリタで接続した後のデータ状態
17つのSDG's目標名が「そのままのもの」と「−1」がついたフィールドで示されている
SDG's目標名が「そのままのもの」と「−1」を分けてそれぞれPivot処理を行う
Pivot1での「そのままのもの」のフィールド処理
Pivot2での「−1」のフィールド処理
それぞれPivot処理後に結合したデータの結果

実は、2つの変数を同時にPivot処理できた、、

2つの変数に対する処理は、一度に行うことが出来ます。
知っていれば有益なTipsです。

前述と同じExcelのデータソース
2つの変数を同時にPivot処理したフロー

ここで、Pivot処理のポイントは、Pivotでデータをドラッグ&ドロップする領域の画面右上にある + のUIボタンを押すことで実現出来ます。
+ボタンを押す回数で、変数を複数個追加して同じフィールド(今回の例では、SDG'sの17つの目標をしめるフィールド)を基準にPivot処理が実施されます。

複数の変数を追加してPivot処理する
複数変数のPivot処理結果 前述と同じ結果が得られました

おわりに

Excelファイルの修正加工など、実務でもよく利用する機会が多いPivot処理です。
2つ以上の変数を同時処理することで効率化も図れ、利用用途が多いTipsだと思います。是非、活用してみてください。


この記事が気に入ったらサポートをしてみませんか?