Open1

【Tableau】リレーションシップと結合の違い

keisuke.kodamakeisuke.kodama

概要

Tableauのデータソースで行う機能であるリレーションシップと結合の違いについて
まとめた記事です。
ポイントは
2つのテーブル構造が違う場合はリレーションシップ
2つのテーブル構造同じ場合は結合
使いましょう!

前提

この記事は、知識レベルとしてSQLのjoinについての知識があることを前提としています。

共通の特徴

異なるデータソース間でも組み合わせることができる。

リレーションシップ(関係)の特徴

メリット

・テーブル間で結合のタイプ(新しいウィンドウでリンクが開く)を構成する必要はありません。
必要なのはリレーションシップに必要なフィールドを選択することだけです。
・関連付けたテーブルは明確に分離したままで、単一テーブルにはマージされません。
・関係では結合が使用されますが、その処理は自動的に行われます。
ビジュアライゼーションで使用されているフィールドに基づいて結合タイプが自動的に選択されます。
分析中は、結合タイプがインテリジェントに調整され、
ネイティブの詳細レベルがデータ内で保持されます。
・ワークシートで使用されているフィールドの現在のコンテキストに基づいて、
分析時に正しい集計と適切な結合が生成されます。
・単一のデータ ソースでさまざまな詳細レベルの複数テーブルが使用できます。
多くのテーブルを含むデータ モデルを構築し、Viz の作成に必要なデータ ソースの数を減らすことができます。
・一致しないメジャー値は削除されません (データが誤って失われることはありません)。
・結合で発生する可能性のあるデータの複製やフィルターに関する問題が回避されます。
・現在のビューに関連するデータに対するクエリだけが生成されます。

参考:リレーションシップには次のような利点があります。

デメリット

データの量が多くなると、結合より処理が重くなる。

結合の特徴

結合はSQLのjoinと同じものという考えで問題ありません。
詳細はこの記事では省略します。

参考:結合

使用例


ダミーデータとして学部の学生情報と

学部の年齢別、の男女の定員情報のデータを組み合わせる。

左がリレーションシップ、右が結合

リレーションシップだと定員のカウントをしてくれるが
結合だとレコード毎に定員数が足される。
リレーションシップはnull値もカウントしてくれる。

まとめ

リレーションシップは結合の上位互換としての位置づけであり
ドキュメントにも最初はリレーションシップを使用を推奨しています。
使い方として、まずはリレーションシップでテーブルを組み合わせ、そのあとに

参考

関係と結合の違い
データの関連付け