データモデルの設計選択 — リレーションシップ・結合・ブレンドの使い分け
導入
「結合(Join)を使ったら行数が増えてしまった」「ブレンドで集計がずれる」——複数のテーブルを扱うときに直面するこうした問題は、リレーションシップ・結合・ブレンドの違いを理解すると、ほとんどが予防できます。
くわしく知ろう
Tableauのデータモデルには、複数のテーブルをつなぐ方法として主に「リレーションシップ」「結合(Join)」「データブレンド」の3つがあります。それぞれ仕組みと適した場面が異なります。
リレーションシップはTableau 2020.2で導入されたデータモデルの中心的な機能で、テーブル同士を「関係性」で結ぶ方法です。SQLのJoinとは異なり、クエリを発行するまで結合が確定しない「遅延評価」の仕組みになっています。このため行の重複や欠落が起きにくく、異なる粒度(詳細レベル)のテーブルでも適切に集計できます。一致しないレコードも保持される点も特徴です。
結合(Join)は、複数のテーブルをあらかじめ横に結合して1つの平坦なテーブルを作る従来の方法です。内部結合(INNER)、左外部結合(LEFT OUTER)などの種類があり、詳細なコントロールが可能です。ただし結合キーに重複がある場合は行数が増えてしまう(ファンアウト)リスクがあります。同一データソース内の複数テーブルを扱うときに使います。
データブレンドは、異なるデータソースの集計結果をビューの粒度で組み合わせる方法です。まずプライマリデータソースが集計され、次にセカンダリデータソースが同じ粒度で集計されて、それらが突き合わされます。全行の突き合わせではなく集計値同士の組み合わせであるため、異なるDB間のデータ統合に向いていますが、集計粒度の不一致によるずれが生じることもあります。
具体例
たとえば受注テーブルと予算テーブルを月単位で比較したい場合、両テーブルの粒度が月なのでリレーションシップが適しています。一方、同じデータベース内の受注テーブルと顧客テーブルを詳細行で結合したい場合は結合(Join)を使います。異なるシステムのデータをビュー上で比較するならデータブレンドが選択肢になります。
まとめ・試験ポイント
- リレーションシップ=遅延評価・行の重複なし・粒度の違うテーブルも安全に扱える
- 結合(Join)=事前にテーブルを平坦化・重複キーがあるとファンアウトのリスク
- データブレンド=異なるデータソース間で集計値同士を組み合わせる
- リレーションシップはデータモデルのキャンバス、結合はデータソース画面で設定
- 試験では「この状況に最適なデータ接続方法はどれか」という選択問題が出る
学習した内容を模擬試験で確認しよう。Tableau Data Analyst模擬試験で実力を測ろう。
Tableau DA模擬試験を見る