見出し画像

データの結合について【Tableau DATA Saberへの道】

前回はかなりおふざけの内容でしたが、今回は初期につまづいたまま見て見ぬフリをしていたデータの結合について簡単にまとめてみました。

データ結合の種類

Tableauでデータを合わせてみる方法は大きく以下の3つです。

  • データ結合(JOIN)

  • データブレンド

  • クロスデータベース結合

それぞれの違いについて説明します。

データ結合(JOIN)

データ結合は、2つ以上のテーブルを共通のフィールド(キー)で結びつけ、1つの新しいテーブルを作成する方法です。

以下のような「売上テーブル」、「顧客情報テーブル」の2つのテーブルを持っているとします。これらを「顧客ID」で結合して、売上データと顧客情報を1つのテーブルにまとめます。

この場合は顧客IDという共通の項目を"キー項目"として、2つの値を1行単位で結合します。
すると、以下ような形になります。

顧客IDをキーに、顧客情報テーブルから名前と地域をひっぱってきてくれる!

JOINした後のテーブルをTableauでは大きなテーブルとして扱ってくれる機能になります。

データブレンド

データブレンドはデータを1行単位でくっつける結合とは異なり、集計してからくっつける方式です。異なるデータベースやテーブルからのデータを「ブレンド」して、あたかも同じデータソースのように表示できます。

例として、売上データと仕入データが別々のテーブルにあるとします。これらをブレンドして、商品ごとに「売上」と「仕入」を比較するレポートを作成します。

データブレンドでは、プライマリデータ(メインのデータソース)とセカンダリデータ(サブのデータソース)に分けてデータを扱います。例えば、売上テーブルをプライマリにして、仕入テーブルをセカンダリとして扱います。両方のデータを「品名」でリンクさせ、商品ごとの売上額と仕入額を統合して表示します。

すると、以下のような形になります。

プライマリデータ(売上テーブル)にある項目はすべて表示されますが、仕入れテーブルにレモンの値が無いためNULLに、セカンダリデータ(仕入テーブル)にしか値のないトマトはそもそも品名が表示されません。

データブレンドでは、プライマリデータが主に分析対象となり、セカンダリデータはそれに対して補足情報を提供するわけです。

クロスデータベース結合

クロスデータベース結合は、異なるデータベースのデータをTableau内で直接結合する機能です。例えば、Excelで管理している売上データと、SQLサーバー上の顧客データベースを結合して、1つのテーブルにまとめられます。データ同士のつなぎ方はJOINと似ていますが、異なるデータベース間で結合を行える点が特徴です。

異なるデータソースをまたぐため、パフォーマンスが落ちることがあります。特にデータ量が多い場合に、処理が遅くなることがあります。

最後に

データの結合方法を選ぶ際、重要なポイントの一つが「データの粒度(データがどれだけ細かい単位で収集・集計されているかを指します。)」です。Jたとえば、「製品リスト」と「売上」のように、マスタテーブルとファクトテーブルの2つを結合させたい場合は「異なる粒度のテーブル」ということになり、JOINで繋げるのが最適。「売上」と「仕入れ」のように、2つのファクトテーブルを結合させた場合は同等の粒度になるので、データブレンドを使用します。


いいなと思ったら応援しよう!