Tableauの『データブレンド』機能を具体的なデータで理解する | VizHacker

Tableauの『データブレンド』機能を具体的なデータで理解する

以前、「データ結合」の種類と仕組みについてご紹介しました。

複数のデータソースを紐づける時に便利なデータ結合ですが、

粒度が違うデータソースの時、多対多のデータの時、などはデータ結合では正しい集計がされません。

今回はそんな時に便利な、Tableau特有の結合機能「データブレンド」についてご紹介します。

 

データブレンドとは??

データブレンドとは一言で言うと、「複数のデータソースを集計してから結合する」です。

具体的なデータで見ていきます。以下のようなデータがあったとしましょう。

左のデータの粒度はグループ、右のデータの粒度はグループかつ日付です。

このような粒度の違うデータを紐づける時は注意が必要です。

 

粒度の違うデータを結合すると・・・

シンプルに結合してみます。結合KEYは「CD名」ですので、結合後のテーブルは下記のようになります。

困ったことになりました。販売数のデータが重複してしまってますね。

理由は単純で、販売数のデータ1行に対して、仕入数のデータが2行結合されているからです。

結合後にMINやAVGを駆使すれば、なんとか改善できそうですがあまり適切ではありません。

後々、「AVGなのにSUMしてた」などの集計ミスなども起こりうるからです。

そもそも縦持ちデータでよくある、「1対2なものもあれば、1対3などのデータ」となれば完全にアウトです。

 

粒度の違うデータ統合に有効な「ブレンド」機能

ここで出番なのがTableau「ブレンド機能」です。

ブレンド機能の仕組みは以下の通りです。

テーブルを合体させてから集計する「データ結合」に対し、

「ブレンド」はそれぞれ集計してから結合します。

順番が逆ですね。

ですので、ブレンドをすると以下のようになります。

無事クリーンなテーブルの完成です。

 

Tableau上での操作

ブレンドをTableau上で行うのは簡単です。

複数のデータソースを別のデータソースとして読み込んだら、「データ」タブから「リレーションシップの編集」を選択します。

↓のような画面が出るので、ブレンドしたいデータソースを2種類選んで、KEYにしたいカラムを選択したら完了です。

カラム名が同じものは自動的に指定されます。DAYと日付など、カラム名が違うものは手動で編集なので注意です。

 

ちなみに・・・

ブレンド機能は画期的で便利な機能ですが、毎回使える機能というわけではないかと思います。

何故なら、データソースが多くなるほどブレンドなのか、結合なのか、KEYは何なのかなどごちゃごちゃしてしまうからです。

 

なので、GCPやAWSなどのDWHにデータソースが全て格納されているならばTableau上でブレンドさせずに

あらかじめSQLを叩いて集計テーブルを作ってしまうのがベターが気がします。

今回の例でいうと、

こんなイメージです。集計されてないテーブルを集計したテーブルをjoinさせています。

これですと、Tableauに考えさせずに可視化できるのでデータ量が多い場合などはパフォーマンスが上がるかもしれませんね。

 

元も子もない結論ですが、なるべくTableauには考えさせずにいきたいところです。

 

本サイトではリクエスト募集しています。