Table of Contents
結合とユニオンの違い
この記事ではTableau Prepの結合とユニオンの違いについて解説します。
今回はサンプルスーパーストアを編集して簡単な例を作ってみました。
一つは「顧客情報」というシートで都道府県、顧客区分、顧客名がまとめられています。
もう一つが「顧客ID」というシートで顧客名と顧客Idがまとめらています。
この二つのシートを用いて、結合とユニオンの違いを見ていきます。
結合
テーブル「顧客情報」をドラッグ&ドロップしてデータの追加を行います。
テーブル「顧客情報」のデータを追加することができました。
次にテーブル「顧客ID」をドラッグ&ドロップしてデータの追加を行います。
この際にテーブル「顧客情報」のアイコンの
右にドラッグ&ドロップをした場合「結合」、
下にドラッグ&ドロップをした場合「ユニオン」、
左にドラッグ&ドロップをした場合「置換」
となります。
まずは結合した結果を見ていきます。
ここからはデータのグリッド表示で解説します。
以下の画面の①について「顧客名」という共通フィールドで結合されていることが分かります。
結合されたグリッドには顧客名と顧客名(顧客名-1)という2つのフィールドが生成されますが、一つはテーブル「顧客情報」由来のもの、もう一つはテーブル「顧客ID」由来のものになります。
グリッドのフィールド名のカラーは、テーブルのアイコンのカラーに対応しているため、視覚的で非常に分かりやすいです。
例えばフィールド名「顧客名」は紫色なので「顧客情報」のシートが由来のフィールドであることが分かりますし、フィールド名「顧客名(顧客名-1)」は黄色なので「顧客ID」のシートが由来のフィールドであることが分かります。
「顧客名」というフィールド名が重複している状態ですが、「顧客情報」のテーブルの顧客名に紐づくIDを「顧客ID」のテーブルから参照したいだけというケースや「顧客名」のフィールドは1つで良いといった場合があると思います。
「顧客情報」のシートもしくは「顧客ID」のシートどちらかの由来の「顧客名」のフィールドだけを残して重複を削除することも可能です。
片方のフィールドを削除した場合であっても、Tableau Prep上の削除であって、Tableau Prepが参照している元データまで削除するものではありません。
フィールドの削除は以下のどちらからでも対応可能です。
以下の画面の②についてテーブル「顧客ID」の顧客名の中には、テーブル「顧客情報」には含まれておらず、結合できなかった顧客名が存在します。
そのような顧客名は赤字で表示されています。
上の画面の③についてテーブル「顧客情報」の顧客名について、テーブル「顧客ID」から顧客Idを参照させることができました。
今回の結合は内部結合と呼ばれるものですが、もう少し結合する表が複雑になると、左外部結合や右外部結合、完全外部結合などの方法もあります。
詳しくは以下の記事を参照ください。
【Tableau】データ結合ユニオン
次にテーブル「顧客情報」のアイコンの下にドラッグ&ドロップをした場合の「ユニオン」について見ていきます。
今回もデータのグリッド表示で解説します。
今度は「顧客情報」のテーブルの顧客名に該当するIdが、 「顧客ID」のテーブルから紐づけられたわけではなく、単純に「顧客ID」と「顧客情報」のテーブルが上下に統合されていることが分かります。
そのため、「顧客ID」の由来のデータで元々テーブルになかった都道府県や顧客区分のデータ配列はnullになっていますし、「顧客情報」の由来のデータで元々テーブルになかった顧客Idがnullになっています。
また、「顧客名」は2つのテーブルの情報を単純に上下に統合しただけですので、一部重複した名前がデータ配列になっています。
まとめ
まとめとして、改めて結合とユニオンの違いを見てみましょう。
データのグリッド表示で違いを見てみるとその違いが視覚的に分かるかと思います。
今回の内容が参考になれば幸いです。