データブレンドについて理解する #tableau
はじめに
こんにちは。大阪オフィス唯一の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社がいくつかデータブレンドのメリットは提唱していますが、代表的なのは、双方のデータソースの粒度が異なる時はデータブレンドの方がよい、でしょうか。
エントリの最初の例を見ればわかりますが、例えば、片方が日単位、もう片方が月単位のデータを結合するとき、結合の方法によっては、レコード数が増大します。同じレコード(データ)が増大することによって、余計に集計してしまう可能性があります。データブレンドは、そのようにはならないので、このようなケースの時はデータブレンドを検討してみる余地があるでしょう。
おわりに
今回はデータブレンドについてみてきました。名前は知ってるけど、実際活用しているユーザーは意外と少ないのでは…と思ってしまう機能かと思います。データブレンドは結構奥が深いので、下記リンクも参考にしつつ、使用していってみてはいかがでしょうか。