ブログ

Tableauのデータ構造についての解説!

実務でよく使うTabeauの機能

この記事では、データ分析の実務に入る前に、理解しておいた方がよい機能を中心に紹介します。
データ分析の実務を行う際に、よく行う操作としてデータテーブルの組み合わせがあります。データの組み合わせというのは、例えば、売上のトランザクションデータと顧客のマスタ情報を組み合わせて、年齢、性別ごとに購買状況を把握したいというケースが想定されます。

売上のトランザクションデータとマスタデータを分析すると考えた時に、表計算ソフトとSQLしか利用してはいけないと考えるとどのように対応したらよいでしょうか。表計算ソフトのみ運用している環境ではなじみがある方法です。3種類のデータを用意することになります。1つ目は売上のトランザクションに顧客のマスタ情報を付与したもの、2つ目は、顧客情報を付与した売上データを顧客ごとに集約計算したもの、3つ目は、顧客データそのものです。

3つのデータソースであれば、表計算ソフトでもSQLだけでも対応可能です。しかし、実際のデータ分析の現場では、トランザクションデータ、マスタテーブル共に複数あるケースの方が多く、それぞれのテーブルに対して、組み合わせのテーブルを作るとかなりの時間が必要です。

例えば、リボンモデルのようなビジネスモデルの場合、サービスの提供者と受益者の両方のテーブルが存在するので、分析の時にはテーブルの構造が複雑化します。
この記事では、Tableauにおいてデータの結合をより効率的に行うための方法を、それぞれの機能の概念を図表を用いて説明します。具体的な操作は知っているが、Tableauにおけるデータ結合の方法はどのようなものか改めて整理したい方も是非読んでみてください。

データの組み合わせ

組み合わせ方法の種類

Tableauにはテーブルデータを組み合わせる方法が4つあります。

比較的利用されるケースの多い「結合」「データブレンド」「リレーションシップ」を順に紹介します。

結合
結合とは共通するフィールドをキーにして、データを横に繋げる方法です。SQLでも頻出の手法なので、比較的イメージしやすい方法です。



結合処理を行った結果のデータは、ワークシートへ読み込まれてVizの作成に利用することができます。この方法は、リレーションシップ機能が追加された現在のTableauでは推奨されていません。

データブレンド
データのブレンドとは、集計粒度を合わせて一つのVizにするための組み合わせ機能です。
実務ではあまり利用することがありませんが、他のデータ組み合わせ手法と比較のため、データがどのように組み合わさるのか図表にします。

リレーションシップ
リレーションシップは、最初は馴染みが薄いので理解しにくいですが、この方法を理解できるようになると、分析業務が非常に効率的に行えるようになります。実務の中では必須な機能です。
リレーションシップとは一言で説明すると、フィールドの選択方法に基づいて結合方法を選択してくれるというものです。例えば一つのテーブルだけで閉じてVizを作成するのであれば、該当する単独のテーブルのみを利用します。一方で、複数のテーブルに渡るフィールドを利用してVizを作成する場合には、該当するテーブル同士を結合してVizが作成されます。

まずは例として、上記の結合の際にもサンプルで想定したデータの構造を利用します。下記ではこのテーブルを例にして、主によく使う4つのリレーションシップのパターンについて説明します。

1つめのパターンは、片方のテーブルに存在するディメンションに対して、もう片方のテーブルにあるメジャーを集計・表示したい場合があります。このような場合は、選択されたディメンションと共に、メジャーの値も全て表示されます。メジャーの値はディメンションの存在有無に関わらず全て表示されるという点もポイントになります。

2つめのパターンは、両方のテーブルのディメンションのみを表示するパターンです。この場合、基本的には内部結合が行われます。ただし、メニューバーから「空の行または列を表示」を選択することで全て表示することもできます。

3つ目のパターンは、両方のテーブルのディメンションを利用して、どちらか一方のメジャーを表示するパターンです。基本的に集計対象となるメジャーは全て表示されるので、下記のようなパターンになります。

4つ目のパターンは、両テーブルのディメンションとメジャーを利用するパターンです。メジャーは全ての値が利用されるため、両方のテーブルのメジャーとディメンションを利用すると完全外部結合の形になります。

リレーション湿布の実例

ここまで、データの組み合わせの概念を整理してきました。より具体的な集計結果を用いながら、データの組み合わせの実例を紹介します。実務で最もよく利用するリレーションシップについて、サンプルデータを利用しながら解説します。

今回利用したデータは、TableauにサンプルデータセットとしてアップロードされているSuperstore Salesというデータセットを利用しています。データセットのダウンロードはTableauのリソースページから可能です。

データの設定方法

今回、Superstore Salesのエクセルファイルを読み込みました。注文データと返品データをそれぞれドラック&ドロップして繋ぎ合わせます。
リレーションシップの線をクリックすると、テーブル同士のリレーションを定義するためのフィールドを指定することができます。今回の場合はOrder ID同士が一致するという条件です。


例えば地域(Region)別の返品率を把握したい場合には、[分析] > [計算フィールドの作成]から下記のように返品率の集計定義を作成します。

集計定義が完了したら、定義したメジャーネームである「返品率」をVizにドラッグ&ドロップすると返品率が表示されます。下記の図では、書式設定から返品率をパーセント表示にしています。

地域ごとに返品率を算出する以外にも、製品ID(Product ID)など別のディメンションを追加して傾向をみることもできます。
以上の例は、非常に単純な例ではありますが、表側に一方のフィールドを設定した上で、リレーションシップが定義されたフィールドを用いたメジャーを作成・追加することで、結合と同じ結果が得られます。

結合、ブレンド、リレーションシップの整理

ここまで主要なデータの組み合わせ方法をみてきましたので、改めてそれぞれの利用ケースを考えながら使い所を整理します。
まずテーブル同士を横方向に結合したテーブルを作成したいだけであれば、結合を利用します。テーブルを単体で使う場合やテーブル同士のフィールドを組み合わせて集計したい場合には、リレーションシップもしくはブレンドを利用します。

結合の利用が必要となるケースとしては、結合句の不等号を詳細に指定したい場合があげられます。顧客IDを結合キーとするが、そのレコードの生成日よりも後に生成されたレコードのみを結合したいなど、複数の結合条件が加えられる場合には、結合の方が管理しやすくなる場合があります。

加えて、結合のメリットとしては、1種類に常に確定できるので、自分自身で指定した結合方法を常に確認できるという点においては、2020.2以前のTableauの使い勝手と通じる部分になります。
データベースのデータ構造、中間テーブルの整備状況、組み合わせ条件の複雑さを加味した上で、リレーションシップもしくは結合から整備を進めた方がよいのかを検討していく形が多くなると思います。

是非、この記事で理解した概念を今一度、自分で操作できるデータに対して試してください。単純なデータの事例をみた上で実データを触ることが、データの組み合わせ手法の使い分けやリレーションシップの使い方を理解する一番の近道になります。

CONTACT
お問い合わせ

ご相談やご依頼、病院マスタなどについてのお問い合わせはこちらのお問い合わせフォームから。

サービスなどについてのお問い合わせ 病院マスタについてのお問い合わせ

メールお問い合わせ