データブレンドについて理解する #tableau

2018.06.19

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

こんにちは。大阪オフィス唯一のDI部メンバー、tamaです。

本エントリは、Tableau Desktop Qualified Associateの試験ガイド「評価するスキル」に関連する内容となります。

本エントリの概要

最近、Tableau Server関連のエントリが多かったので、今回は、Tableau Desktopのものすごく基本的な機能「データブレンド」に関して見ていきます。

データブレンドとは

「結合」について

データブレンドとは2つのデータソースを1つにする…

と書いた時、Tableauユーザーの方は、まず「結合」を思い出すのではないでしょうか。

※これですね。

Tableauに馴染みはなくとも、SQLを使用したことのある方も、同じことを思うかもしれません。上記の画像の通り、実際、Tableauにはジョイン機能があり、こちらの機能を使用することで、2つのデータソースを結合することができます。

では、データブレンドは結合とどう違うのでしょうか。

データブレンドと結合の違い

結合は、2つのデータソースに共通するカラムを指定して、1つの表として結合します。行単位でデータを照合していき、色々計算する前に、先に1つのデータソースとして作成する形となります。

対して、データブレンドは、それぞれのデータソース毎に先に集計してから、それらを混ぜる(ブレンドする)形をとっています。

実際に結合とデータブレンドの違いの例を見てみましょう。Tableau公式ヘルプに良い例があるので、紹介します。

結合の場合

まず、通常の左結合を見てみます。「User ID」と「Patron ID」をキーにして左結合を行った場合、下記の画像のように、左のテーブルに対して、キーが合致する右テーブルのレコードを当てはめていく形になります。

そうしてできる表は以下の通りです。当てはまる行が複数ある場合、その分レコードは増えますね。

データブレンドの場合

上記の2つのテーブルを、同じキーでデータブレンドしてみると、下記の通りになります。(データブレンドも、共通のキーを指定します。)

結合のように行単位で照合するのではなく、集計された2つのデータソースが混ざった状態となっています。結合とのわかりやすい違いとしては、データ中にアスタリスクが入っているところです。左テーブルのUserIDに該当する右テーブルのPatronIDのレコードは2つあります。つまり、左テーブルのUserIDに該当する右テーブルのPatronIDのBranchは「A001」と「C001」の2つ存在します。このように、各キーに対して複数の値が存在する場合、データブレンドではアスタリスクとして表示されます。(逆に一致する値が無い場合はNULLとなります。)

データブレンドの方法

では、実際にTableau Desktopでデータブレンドを設定してみましょう。Tableau社の公式動画を見ればスッと理解できる部分ではありますが、本エントリでも、改めて試してみたいと思います。(使用するデータソースも、この動画と同じものを使用します。)

Tableau Desktopを起動して、ブレンドしたいデータソースの片方を接続しておきます。次にブレンドしたいもう片方のデータを別途接続します。

すると、接続しているデータソースは、下記のような状態になります。これでブレンドしたい2つのデータソースを用意できました。

そして、画面上部メニューの「リレーションシップの編集」を選んで、データブレンドのメニューを表示します。どちらをプライマリーデータソースにするか設定します。プライマリーデータソースって何やねんという話ですが、前述したデータブレンドの説明でいう、「左側のテーブル」と認識しておけばOKです。

プライマリーデータソースを決めたら、後は結合と同じ様に、何の項目をキーにしてブレンドするかを決定します。

ここまでくれば、後は好きなようにビューを作成しましょう。最初に言ったように、データブレンドは結合と違って、最初に1つの表にするわけではないので、ビューを作成するときは、2つのデータを切り替えながら作業する必要があるので、注意してください。

また、データブレンドの設定はワークシート単位です。結合は先に1つの表にしてしまっているので、ワークブック全体に適用されますが、データブレンドはそうではないので、そこも注意しましょう。

データブレンドのメリット

結合との違いや方法についてはわかりましたが、ではどういう時にデータブレンドを使えばいいのでしょうか。Tableau社がいくつかデータブレンドのメリットは提唱していますが、代表的なのは、双方のデータソースの粒度が異なる時はデータブレンドの方がよい、でしょうか。

エントリの最初の例を見ればわかりますが、例えば、片方が日単位、もう片方が月単位のデータを結合するとき、結合の方法によっては、レコード数が増大します。同じレコード(データ)が増大することによって、余計に集計してしまう可能性があります。データブレンドは、そのようにはならないので、このようなケースの時はデータブレンドを検討してみる余地があるでしょう。

おわりに

今回はデータブレンドについてみてきました。名前は知ってるけど、実際活用しているユーザーは意外と少ないのでは…と思ってしまう機能かと思います。データブレンドは結構奥が深いので、下記リンクも参考にしつつ、使用していってみてはいかがでしょうか。

参考