
Tableau 8つのハードルを越える⑳「ブレンディング(データブレンド) その1 導入編」

こんにちは。
今回からは、6番目のハードル「ブレンディング」について解説させていただきます。
(この記事は、2018年版のサンプルスーパーストアデータを利用しています。)
この連載記事については、下記を参照してください。
ブレンディングとは何か?
これは、Tableauで複数のデータソースを扱うときの機能です。
「複数のデータソースを扱う」という事自体、ちょっとピンと来ないかもしれませんので、順に説明したいと思います。
なお、データモデル「リレーションシップ」は素晴らしい機能で「ブレンディング」と似ている部分もありますが、ブレンディングに完全に置き換わるものではありません。ここでは、一旦、「リレーションシップ」の事は横に置いておいて「ブレンディング」の説明をさせて頂きたいと思います。
まずは、ブレンディング説明の前段階として、Tableauで2つのExcelシートをくっつけて(結合して)利用する例を見てみましょう。
サンプルスーパーストア注文シートのデータをみてみると、

このように、「製品ID」、「製品名」がありますが、各製品のメーカーに関する情報はありません。
今、メーカー情報の入った下記、別のExcelシートを入手したとします。

これで、各「製品 Id」毎のメーカーが分かるので、元のサンプルスーパーストア注文シートのデータと合わせればメーカー情報の入ったデータソースが出来あがるはずです。
Excelの中で、これを行う場合は、サンプルスーパーストア注文シートに新しい列を作り、VLOOKUP関数を利用した計算式で、メーカー情報の入ったシートから各行に該当するメーカーを引っ張ってくる方法が一般的です。
(VLOOKUP関数を知らなくても気にしないで読み進めて下さい。)
Tableauで、サンプルスーパーストア注文シートに、メーカー情報を列として追加したい場合には、結合が使えました。
Tableauから元データに接続する下記画面で、

このように、製品IDをキーとして設定すれば、各行の製品IDに基づきメーカーの情報が新たなフィールドとして追加されます。
サンプルスーパーストア注文シート、メーカーシートがあわさって、メーカー情報も入ったデータソースとして出来上がります。
下図のように、メーカー毎の売上合計なども出せるようになります。

では、次の例です。
サンプルスーパーストア注文シートの他に、各年度、各地域毎の売上目標額が入力されたExcelシートがあるとしましょう。
下図のようなExcelシートです。

この目標額のExcelシートとサンプルスーパーストア注文シートを合わせて、各年、各地域での目標額と、それに対する実際の売上を見られるVizを作りましょう。
目標としているのは下図のようなVizです。

このVizを作るにも、サンプルスーパーストア注文シートのデータと、目標額シートのデータ双方が必要です。
両者には、オーダー日、地域という共通の切り口があります。
では、このオーダー日と地域を結合キーとして、結合することを考えてみましょう。

このような結合を試してみました。
これで、出来たデータソースは、サンプルスーパーストア注文シートと目標額シートの情報があわさったデータソースになりそうですが、ちょっと注意が必要な状況となります。
例えば、サンプルスーパーストア注文シートで、2018年における北海道の売上レコードを見てみます。多くの行があります。

これに対し、目標額のシートで、2018年における北海道のレコードは、下図の1行のみです。

これを結合でくっつけるとどうなるかというと・・

上図左側のサンプルスーパーストア注文シートのすべての行に、右側の目標額の行がくっついていきます。
出来上がりイメージとしては、下図の状況です。

2018年、北海道全体での目標額1,221,175が、注文シートの1行1行すべてに入っています。
このまま利用するのは不可能ではありませんが、その場合目標額を合計してしまうととんでもなく大きな額になります。目標額を利用する場合は、年、地域毎に平均や最小値・最大値をとるなどして、余計な足し算をしないように・・と、気を遣う必要が出てきます。)
今回、ブレンディングを利用してこの課題を解決したいと思います。
次回以降、本格的にブレンディングの解説に入ります。
*補足
実際には、データモデル「リレーションシップ」が、今回のようなケースで利用するベストプラクティスと言えます。
ではありますが、ブレンディングの解説のため、次号ではブレンディングを利用した方法から説明させていただきます。
次号「ブレンディング その2」は下記になります。
ご精読ありがとうございます。
*連載記事すべてへのリンクは、こちらのマガジンにまとめています。
By ritz_Tableau
2020-2023 Tableau Zen Master | 2019-2021,2023 Tableau Public Ambassador |2021 certified as Tableau Certified Professional | DATA Saber
X(Twitter) : @ritz_Tableau
Tableau Public : https://public.tableau.com/profile/satoshi.ganeko#!/
*記事の中に不正確な点などありましたら、是非、X(Twitter) Direct Messageでお知らせ下さい。よろしくお願いします。m(__)m

おことわり
当記事のコンテンツについて、商用利用でない場合は許可なく転載して頂いて構いません。(ハードル画像および他のサイトから引用している画像は除く)
転載の際は、当記事へのリンクを掲載し転載であることを明記してください。商用利用の場合は許可なく転載しないで下さい。
当記事のコンテンツについて、可能な限り正確な情報を掲載するよう努めていますが、誤情報が含まれたり、情報が古くなっている可能性があります。当記事に掲載された内容、および、当記事からリンクやバナーによって移動したサイトに掲載された内容によって生じた、損害等の一切の責任を負いかねますのでご了承ください。よろしくお願いします。