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