データ接続と準備

データモデルと関係 — 結合・リレーションシップの違いを整理する

導入

Tableauでデータを分析するとき、複数のテーブルをどう組み合わせるかで結果が大きく変わることをご存じでしょうか。正しく扱わないと集計値がずれてしまう――そんなトラブルを防ぐ仕組みが「データモデル」です。

くわしく知ろう

Tableauのデータモデルは、テーブルどうしの接続方法を2つのレイヤーで管理しています。画面上部に見えるロジカルレイヤー(論理レイヤー)では、テーブルを線でつないで「関係(Relationship)」を設定します。その線をダブルクリックして中に入ると、フィジカルレイヤー(物理レイヤー)に切り替わり、ここで結合(Join)やユニオン(Union)といった従来の操作が行えます。

関係はTableau 2020.2で導入された比較的新しい機能です。結合とは異なり、テーブルを物理的に混ぜ合わせることなく、クエリを実行するタイミングで必要な分だけ動的に組み合わせます。そのため、売上テーブルと商品テーブルのように行数の粒度が異なる場合でも、集計値が二重にカウントされるリスクを大幅に抑えられます。

結合は2つ以上のテーブルの列を横に並べて1つの大きなテーブルとして扱う操作です。内部結合・左結合・右結合・完全外部結合など種類があり、マッチしない行はNULL値になります。粒度の異なるテーブルを結合すると意図しない重複が生じる場合があるため、関係の方がより安全な選択肢となることがあります。

イメージとしては、結合は具材をすべて混ぜ合わせた料理であり、関係は具材をとなりに置いて必要に応じて取り合わせる料理と考えると区別しやすくなっています。

具体例

たとえば「注文テーブル」と「商品テーブル」を関係でつなぐと、売上の集計は注文テーブルの粒度を保ちつつ、商品名や価格を参照できます。一方、同じ2つのテーブルを結合してしまうと、商品に複数の注文が紐づく場合に行が重複し、売上合計が正しく計算されないことがあります。

まとめ・試験ポイント

  • 関係(Relationship)=Tableau 2020.2以降の機能、クエリ時に動的結合
  • 結合(Join)=テーブルを物理的に混ぜる、NULL値が生まれる可能性あり
  • ロジカルレイヤー=関係を設定する画面、フィジカルレイヤー=結合を設定する画面
  • 粒度が異なるテーブルには関係が安全
  • 試験では「関係と結合の違い」「どちらを使うべきか」を問う設問が頻出

学習した内容を模擬試験で確認しよう。Tableau Desktop Specialist模擬試験で実力を測ろう。

Tableau模擬試験を見る