Tableau Prepはデータを分析に適した形に加工するツールで、その処理過程を記録して共有したり再利用したりすることができます。
本ページでは、Tableau Prep Builderで結合やユニオン機能によって複数テーブルデータをマージする方法を紹介します。
結合
Tableauでは、複数テーブルデータを共通のフィールドで関連付けて結合させることができます。
結合の仕方には様々あります。
以下ではスーパーストアのデータを利用して、よく利用すると思われる内部結合(inner join)と左外部結合(left outer join)について紹介します。
内部結合
スーパーストアの例で、返品されたオーダーの売上一覧を見たい場合を考えてみます。
その場合には、注文テーブルと返品テーブルを内部結合します。両テーブルに存在する「オーダーID」をキーとして内部結合して、注文テーブルの「売上」を表示できればよいはずです。
このようにキーとなるフィールドが両方のテーブルで一致する行を抽出する結合方式が内部結合です。
実際に返品されたオーダーの売上一覧を抽出してみます。
Tableau Prep Builderを起動してスーパーストアのファイルに接続します。
注文テーブルと返品テーブルをフローペインにドラッグ&ドロップすると、以下のように表示されます。
返品テーブルのアイコンをドラッグして注文テーブルのアイコンに重ね、表示される「結合」オプションにドラッグ&ドロップします。
別のやり方もあります。
注文テーブルのアイコン右にある「+」印をクリックして「結合」を選択します。
するとフローペインに結合のアイコンが表示されます。
返品テーブルのアイコンをドラッグして結合アイコンに重ねると表示される「追加」オプションにドロップします。
上記のどちらかの方法を実施すると結合のプロファイルペインが開きます。
「適用した結合句」には共通キーとなるフィールド「オーダーID」、「結合タイプ」には内部結合を表す「inner」を設定します。
結合された中身を詳しくみてみます。
「結合結果のサマリー」を見ると、それぞれのテーブルから抽出された件数と結合テーブルの件数が分かります。
「結合区」ペインには、結合した各フィールドにおいて結合条件を満たしていれば黒字、満たさなければ赤字で表示されます。
「結合結果」ペインには結合テーブルにおける各フィールドと値の分布が表示されています。
左外部結合
スーパーストアの例で、注文データにマネージャー情報を追加して抽出したい場合を考えてみます。
その場合には注文テーブルと担当者テーブルを左外部結合します。両テーブルの「地域」をキーとして、注文テーブルの各行に担当者テーブルにある「マネージャー」が追加されればよいはずです。
このように左テーブルの全ての行と右テーブルで共通キーが一致する行が抽出される結合方式が左外部結合です。右テーブルに一致する行がなければNULL値が表示されます。
実際にマネージャー情報が追加された注文データを抽出してみます。
Tableau Prep Builderを起動してスーパーストアのファイルに接続します。
注文テーブルと関係者テーブルをフローペインにドラッグ&ドロップすると、以下のように表示されます。
関係者テーブルのアイコンをドラッグして注文テーブルのアイコンに重ね、表示される「結合」オプションにドラッグ&ドロップします。
するとプロファイルペインが開きます。
デフォルトで内部結合の設定になっているので変更します。
「結合タイプ」にあるベン図をクリックして左外部結合を表す「left」に設定します。
結合された中身を詳しくみてみます。
「結合区」ペインを見るとすべて黒字なので、全ての地域のデータが条件に一致したことが分かります。
「結合結果」ペインのテーブル見ると「地域マネージャー」のフィールドが追加されたことが分かります。
ユニオン
ユニオン(union)は複数テーブルデータをマージすることができます。ただし、複数テーブルはフィールドの名称と型が同一であることが条件になります。
よくある例としては、同じフォーマットの売上データが時期別にエクセルファイルにまとめられている場合です。
ここでは実際に、2017年から2020年までの毎日の売上が年毎にまとまった4つのエクセルファイルをユニオンでマージしてみたいと思います。
Tableau Prep Builderを起動して、4つのファイルに接続します。
あるファイルのシートをフローペインにドラッグ&ドロップするとアイコンが作成されます。そのアイコンに、接続ペインにあるユニオンしたい別ファイルのシートを重ねて、表示される「ユニオン」オプションにドラッグ&ドロップします。
すると以下のようにフローペインにユニオンのアイコンが表示されます。
これで2つのデータがユニオンされました。
3つ目以降はファイルのシートをユニオンアイコンにドラッグしてオプションの「追加」にドロップします。
4ファイルをユニオンできると以下のようなフローになります。
別のやり方もあります。
Tableau Prep Builderを起動して4つのファイルに接続した後、それぞれのファイルのシートをフローペインにドラッグ&ドロップします。すると以下のような画面になります。
その後いずれかのシートアイコンの右の「+」印をクリックして、リストから「ユニオン」を選択します。
するとフローペインにユニオンのアイコンが表示されます。
ユニオンしたい別ファイルのシートを次々とユニオンのアイコンにドラッグしてオプションの「追加」にドロップしていきます。
完成です。
いずれかの方法でユニオンを実行したら、ユニオンアイコンをクリックします。ユニオンのプロファイルペインが開きます。
「ユニオンの結果」を見ると同じフィールドでもれなく結合できていることが確認できます。
本ページでは、Tableau Prep Builderで結合やユニオン機能によって複数テーブルデータをマージする方法を紹介しました。