Tableau(タブロー)のファイル結合・データ結合を整理する
はじめに
今回は、Tableau(タブロー)デスクトップを使ったデータのつなげ方を整理してみます。Tableau(タブロー)では、(ファイル)結合、クロスデータベース結合、データブレンドおよび、ユニオンといった4つのデータ結合方式があります。それぞれの結合方式の特徴や注意点を整理してみます。なお、このテーマについては、『Tableauデータ分析 ~実践から活用まで~』によくまとまっておりますので、いつでも手元においておくとよいでしょう。
- (ファイル)結合
- クロスデータベース結合
- データブレンド
- ユニオン
- リレーションシップ(2020.2バージョンの新機能)
結合
結合とは、同じデータソースでかつ、同じ配置場所にあるデータソースを、共通のキーをもとに非集計の状態で結合する方式です。基本的な結合方式です。また、結合タイプを選択する必要があります(内部、左外部、右外部、完全外部結合)。
結合時のイメージ
下記は、オーダーIDを共通のキーとして、左外部結合を実施した状態です。
結合時の注意事項
- 共通キーが必要です
- 非集計の状態でデータを横につなげます
- 同じデータソースでかつ、同じ配置場所にあるデータを結合可能です。
- 共通キーの型が一致しないと結合できません
- NULL値が含まれた行がある場合、表示させる場合はNULLの追加オプションを設定する必要があります。
結合タイプ 設定時
完全外部結合
すべてのデータを取り出します。
左結合時のイメージ
左側をすべて、右側は左側と一致したデータのみを取り出します。
右結合時のイメージ
右側をすべて、左側は右側と一致したデータのみを取り出します。
内部結合時のイメージ
両方に存在するデータのみを取り出します。
クロスデータベース結合
クロスデータベース結合は、異なるデータソースを結合する際に使用されます。なお、同じデータソースでも、Excelのようにブックが別れている場合やCSVファイル同士でも別のディレクトリに置かれているような場合はクロスデータベース結合となります。
クロスデータベース結合時のイメージ
下記は、売上情報が記載されたCSVと、明細が記載されたExcelを結合しようとしております。データソースは、「追加」から設定します。
クロスデータベース結合時の注意事項
- 共通キーが必要です
- データソースが異なる場合、あるいは、データソースが同じでも配置場所が異なる場合はクロスデータベース結合となります。
追加 設定時 のイメージ
追加をクリックして異なるデータソースあるいは、データソースが同じでも配置場所の異なるデータソースを探します。
データブレンド
データブレンドは、すでにデータ集計された結果をもつ表同士を共通のキーをもとに横につなげるデータ結合方式です。この方式を採る例としては、結合しようとするデータソースの接続方式(ライブ/抽出)のうち、抽出しか選択できないデータソースが一つでもある場合、このデータブレンドでの結合が必須となります。抽出しかサポートされていないデータソースの例として、GoogleアナリティクスやSalesforceなどです。
データブレンド編集時のイメージ
下記は、GoogleアナリティクスデータとMA(Mautic)エクスポートCSVデータをデータブレンドした例です。ここでは、maidとMAIDをキーとしております。
データブレンド時の注意事項
- 左外部結合になります。
- プライマリーデータソースが青色です。
- セカンダリデータソースがオレンジ色です。
- プライマリデータソースが、左外部結合の左側に該当します。
- 原則、共通キーとなるディメンションの名前を一致させる必要があります。名前の変更で編集すると良いです。
- 名前の変更のほかに、リレーションシップの編集で正規化できます。
- プライマリデータソースになるかどうかは、最初にビューに配置されたフィールドがどのデータソースから配置されたか、で決定されます
- 鎖マークの赤色が現在、設定されているキーとして設定いる目印です。
リレーションシップの編集機能 のイメージ
原則、共通キーのディメンションの名前は一致する必要がありますが、データ>リレーションシップの編集で下記のように編集することで正規化できます。
ユニオン
ユニオンとは、データの行(縦)方向へ「マージ(統合)」する結合方式です。例えば、列名・列数が完全に一致する1月のCSVデータと2月のCSVデータと3月のCSVデータがファイルで分かれてしまった、または、Excelやスプレッドシートで同様にデータが「シート」で分かれてしまった場合、それらをマージ(統合)できます。通常、これらをマージ(統合)する場合、コピー&ペーストを繰り返したりします。しかし、Tableau(タブロー)ではユニオンという方式を使えば一瞬でマージ(統合)が完了します。
ユニオン編集時のイメージ
ユニオン時の注意事項
- Excelであれば、同じブックのシートがユニオンの対象
- CSVファイルであれば、同じディレクトリ(フォルダ)に配置されていること
- データ型を一致させること
- 列名・列数がすべて一致していること
- 列名が一致しなかった場合でも、「一致していないフィールドをマージする機能」を使うことで事後対応可能
- ユニオンは、①ユニオンの新規作成、②対象シートやファイルを複数選択したのち、キャンバスへドラッグ&ドロップ、③すでに配置したシートやファイルに対してマージ(統合)対象ファイルをドラッグして「表をユニオンへドラッグ」する、④ワイルドカードユニオン の4つで編集が可能
一致していないフィールドをマージする機能 のイメージ
列名が違っていても、この機能を活用することで正規化することができます。
リレーションシップ(2020.2の新機能)
リレーションシップの詳細は、下記を参照ください。
まとめ
今回は、ファイル結合・データ結合の方式とそれぞれの注意事項について整理してみました。どれも基本的なところですのでいまさら感はあります。しかし、これからTableau(タブロー)に触れられるかたもしくは、初学者のかたにとっては体系的に全体像を整理しておくと良い内容であり、有用と考えます。ぜひ、参考にしてみてください!