Tableauにて分析対象のデータをアレンジするために、[データソース]を編集する方法について説明します。
[データソース]の編集とは、具体的には- データソースを別のデータに切り替える方法(データソース変更)
- 複数テーブルに分かれているデータを組み合わせる方法(データソース結合)
についてです。
今回はその中でも、②複数テーブルに分かれているデータを組み合わせる方法について説明をします。
関連記事
データの組み合わせ方法
データが複数のテーブルやデータベースに分かれている場合は、データを組み合わせる必要があります。このデータの組み合わせも、[データ ソース] ページで行うことができます。
まず、Tableauにおいてデータの組み合わせ方法は以下の4種類がありますので、それぞれ整理をします。
# | 種類 | イメージ | 概要 | 利用を推奨する場面 |
1 | 結合 | いわゆる横結合 |
|
|
2 | リレーション | 最近Tableauに追加された機能。結合を半自動で設定してくれる |
|
|
3 | ブレンド | 分析シート上で、必要なデータを組合わせる | シートごとにデータソースの組合せルールを変更したい場合 | |
4 | ユニオン | いわゆる縦結合 | データを縦に追加したい場合 |
それでは、上記4つの組合せの操作方法について、それぞれ説明をします。
- 結合
- 単一のデータベースの場合
- 複数のデータベースの場合
- リレーション
- 単一のデータベースの場合
- 複数のデータベースの場合
- ブレンド
- ユニオン
- 単一のデータベースの場合
- 複数のデータベースの場合
(1) 結合
結合は、キーとなる共通の列によってテーブルを組み合わせる方法です。結合を使用してデータを組み合わせるとテーブルが作成され、データの列が追加されることによって横方向に拡張されます。
- 組合わせたいテーブルそれぞれで設定した、キーとなる列を用いて、横結合が可能
- 結合に用いる列と、結合の種類(左結合など)を設定可能
- 結合前のデータは用いることはできず、結合後のデータソースを用いた分析が可能
- データによっては結合によりデータの重複が発生する可能性あり
ここで「結合」の操作手順について説明しますが、「結合」を行う際には、組み合わせる対象データが「単一のデータベースの場合」と「複数のデータベースの場合」で操作方法が若干異なりますので、それぞれ分けて説明をします。
結合:単一のデータベースの場合
まず、単一のデータベースの場合の「結合」の操作方法を説明します。
このデモでは「単一のデータベースの場合の結合」の例として、同一Excel内の「注文」シートと「地域マスタ」シートを、[地域]という共通の列を用いて左結合する場合の操作を説明しています。
手順を文章でも確認したい、という方のために、以下に詳細な手順の説明を記載しております。
- データソースは「Sample_Data」というExcelに接続されており、シートとしては「地域マスタ」と「注文」があることがわかります。
- 「注文」というデータシートをキャンパスにドラックアンドドロップします。
- 注文というデータテーブルの右側にある▼をクリックし、「開く」を選択します。
- 接続したい「地域マスタ」というデータシートをデータテーブルのスペースにドラックアンドドロップします。これにより、結合が形成されたことを示すアイコンが表示されます。しかし、アイコンを見ると目的の「左結合」ではなく、「内部結合」となっていることがわかります。
- 結合アイコンをクリックし、「左結合」を選択します。データに接続します。これにより、データ ソースが作成されます。
結合:複数のデータベースの場合
次に、複数のデータベースの場合の「結合」の操作方法を説明します。
このデモでは「複数のデータベースの場合の結合」の例として、「Sample_Data.xlsx」という注文データのExcelと「地域マスタ.xlsx」のExcelを、[地域]という共通の列を用いて左結合する場合の操作を説明しています。
手順を文章でも確認したい、という方のために、以下に詳細な手順の説明を記載しております。
- データソースは「Sample_Data」というExcelに接続されており、シートとしては「注文」があることがわかります。
- 「注文」というデータシートをキャンパスにドラックアンドドロップします。
- 注文というデータ テーブルを表示した後、左側のペインで [接続] ヘッダーの右側にある [追加] リンクをクリックします。
- 追加したいデータソースは「地域マスタ.xlsx」というエクセルファイルなので、そちらを選択します。「地域マスタ」というExcelに追加で接続でき、シートとしては「地域マスタ」があることがわかります。
- 注文というデータテーブルの右側にある▼をクリックし、「開く」を選択します。
- 接続したい「地域マスタ」というデータシートをデータテーブルのスペースにドラックアンドドロップします。これにより、結合が形成されたことを示すアイコンが表示されます。しかし、アイコンを見ると目的の「左結合」ではなく、「内部結合」となっていることがわかります。
- 結合アイコンをクリックし、「左結合」を選択します。データに接続します。これにより、データ ソースが作成されます。
(2) リレーション
リレーションは、複数のテーブル間の共有フィールド (列) に基づいて複数テーブルのデータを使用する方法です。結合を半自動で実施可能なため、結合に不慣れな方には便利な機能です。また、結合前の元データも利用する可能性がある場合にも「結合」に比べて「リレーション」が便利です。
- 組合わせたいテーブル間で一致している列を用いて、リレーションを作成可能
- どの列を用いてリレーションを作成するかを設定するだけでリレーションを自動的に生成可能
- 「結合」では結合元のデータソースは分析に利用できないが、「リレーション」であれば元のデータソースも利用可能
ここで「リレーション」の操作手順について説明しますが、「リレーション」を行う際には、組み合わせる対象データが「単一のデータベースの場合」と「複数のデータベースの場合」で操作方法が若干異なりますので、それぞれ分けて説明をします。
リレーション:単一のデータベースの場合
まず、単一のデータベースの場合の「リレーション」の操作方法を説明します。
このデモでは「単一のデータベースの場合のリレーション」の例として、同一Excel内の「注文」シートと「地域マスタ」シートを[地域]という共通の列を用いてリレーションを作成する場合の操作を説明しています。
手順を文章でも確認したい、という方のために、以下に詳細な手順の説明を記載しております。
- データソースは「Sample_Data」というExcelに接続されており、シートとしては「地域マスタ」と「注文」があることがわかります。
- 「注文」というデータシートをキャンパスにドラックアンドドロップします。
- 次に、接続したい「地域マスタ」というデータシートをキャンパスにドラックアンドドロップします。これにより、自動リレーションシップが形成されたことを示す "ヌードル" が表示されます。
- 直後に、「リレーションシップの編集」 ダイアログが開き、2 つのテーブルを紐づける列名を指定するよう求められます。今回は、[地域]という共通の列で紐づけができていることが確認できます。
リレーション:複数のデータベースの場合
次に、複数のデータベースの場合の「リレーション」の操作方法を説明します。
このデモでは「複数のデータベースの場合のリレーション」の例として、「Sample_Data.xlsx」という注文データのExcelと「地域マスタ.xlsx」のExcelを、[地域]という共通の列を用いてリレーションを作成する場合の操作を説明しています。
手順を文章でも確認したい、という方のために、以下に詳細な手順の説明を記載しております。
- データソースは「Sample_Data」というExcelに接続されており、シートとしては「注文」があることがわかります。
- 「注文」というデータシートをキャンパスにドラックアンドドロップします。
- 注文というデータ テーブルを表示した後、左側のペインで [接続] ヘッダーの右側にある [追加] リンクをクリックします。
- 追加したいデータソースは「地域マスタ.xlsx」というエクセルファイルなので、そちらを選択します。「地域マスタ」というExcelに追加で接続でき、シートとしては「地域マスタ」があることがわかります。
- 接続したい「地域マスタ」というデータシートをキャンパスにドラックアンドドロップします。これにより、自動リレーションシップが形成されたことを示す "ヌードル" が表示されます。
- 直後に、「リレーションシップの編集」 ダイアログが開き、2 つのテーブルを紐づける列名を指定するよう求められます。今回は、[地域]という共通の列で紐づけができていることが確認できます。
(3) ブレンド
ブレンドも異なるデータを組み合わせる方法です。ブレンドを使用してデータを組み合わせる場合は、主となるデータソースと、それに紐づけたいデータソースのキーとなる列を指定することで組み合わせます。
- 組合わせたいテーブルそれぞれで設定した、キーとなる列を用いて、ブレンドが可能
- データソースの組合せルールをシートごとに設定可能
「ブレンド」の操作方法を説明します。
このデモでは「Sample_Data.xlsx」という注文データのExcelと「地域マスタ.xlsx」のExcelを、[地域]という共通の列を用いてブレンドして分析する場合の操作を説明しています。
手順を文章でも確認したい、という方のために、以下に詳細な手順の説明を記載しております。
- データソースは「Sample_Data」というExcelに接続されており、シートとしては「注文」があることがわかります。
- 「注文」というデータシートをキャンパスにドラックアンドドロップします。
- 注文というデータ テーブルを表示した後、ツールバーより「データ」→「新しいデータソース」を選択します。
- 新しく追加したいデータソースは「地域マスタ.xlsx」というエクセルファイルなので、そちらを選択します。エクセル内には「地域マスタ」というシートしか存在しないため、自動で地域マスタというデータテーブルが表示されます。
- データソースを示す円筒形のアイコンを押すと、データソースとしては「注文」と「地域マスタ」の2つが作成されていることがわかります。
- 「シート1」を押すことで分析シートに移動します。こちらでもデータソースとしては「注文」と「地域マスタ」の2つが作成されていることがわかります。
- 注文のデータソースを選択し、カラムの中から[出荷日]を「行」にドラックアンドドロップします。
- 次に、接続したい「地域マスタ」のデータソースを選択します。
- カラムの中で[地域]のカラムの右側には、リンクアイコンがあることがわかります。こちらをクリックするとリンクが赤くなり、これによりブレンドが形成されたことが確認できます。
- リンクを設定した後、[地域マネージャー]を「行」にドラックアンドドロップします。これにより、[地域]という列で紐づけがされたデータを使って分析ができていることが確認できます。
(4) ユニオン
ユニオンは縦(行)方向にデータを組み合わせる方法です。ユニオンを使用してデータを組み合わせると、同じ列がある場合データの行が追加されることによって縦方向に拡張されます。
- 組合わせたいテーブルそれぞれで設定したキーとなる列を縦につなぐことで、データを縦に追加することが可能
- ユニオン前のデータは用いることはできず、ユニオン後のデータソースを用いた分析が可能
ここで「ユニオン」の操作手順について説明しますが、「ユニオン」を行う際には、組み合わせる対象データが「単一のデータベースの場合」と「複数のデータベースの場合」で操作方法が若干異なりますので、それぞれ分けて説明をします。
ユニオン:単一のデータベースの場合
まず、単一のデータベースの場合の「ユニオン」の操作方法を説明します。
このデモでは「単一のデータベースの場合のユニオン」の例として、同一Excel内の「注文_2016」~「注文2019」という複数のシートをユニオンする場合の操作を説明しています。
手順を文章でも確認したい、という方のために、以下に詳細な手順の説明を記載しております。
- データソースは「Sample_Data」というExcelに接続されており、シートとしては「注文_2016」~「注文2019」という4つのシートがあることがわかります。
- 「注文_2016」というデータシートをキャンパスにドラックアンドドロップします。
- 注文_2016というデータテーブルの右側にある▼をクリックし、「開く」を選択します。
- 次に、ユニオンしたい「注文_2017」~「注文2019」という3つのシートを複数選択をし、注文_2016というデータの下にドラックすると、「テーブルをユニオンにドラック」という表示がでますので、ここにドロップします。これにより、データが複数重なっているような表示がされます。
- データテーブルの右側にある▼をクリックし、「ユニオンの編集」を選択すると、「注文_2016」~「注文2019」の4つのデータテーブルがユニオンされていることが確認できます。
ユニオン:複数のデータベースの場合
次に、複数のデータベースの場合の「ユニオン」の操作方法を説明します。
このデモでは「複数のデータベースの場合のユニオン」の例として、「Sample_Data_2016.xlsx」~「Sample_Data_2019.xlsx」という複数のExcel内の「注文」シートをユニオンする場合の操作を説明しています。
手順を文章でも確認したい、という方のために、以下に詳細な手順の説明を記載しております。
- Excelデータへ接続をします。Excelがあるフォルダを確認すると、「Sample_Data_2016.xlsx」~「Sample_Data_2019.xlsx」という4つのExcelが同一フォルダに存在することがわかります。
- まず最初に新しく追加したいデータソースは「Sample_Data_2016.xlsx」というエクセルファイルなので、そちらを選択します。エクセル内には「注文_2016」というシートしか存在しないため、自動で注文_2016というデータテーブルが表示されます。
- 注文_2016というデータテーブルの右側にある▼をクリックし、「開く」を選択します。
- さらに注文_2016というデータテーブルの右側にある▼をクリックし、「ユニオンに変換」を選択します。
- 出てきたウインドウの右上の「ワイルドカード(自動)」を選択します。
- ここでは、ユニオンとして追加する「シート」/「ワークブック」を指定した条件で検索し、自動でユニオンをすることができます。まず「シート」の指定条件を確認すると、「空=すべて含める」となっています。これは、「検索にHITしたワークブック内の、全てのシートをユニオン対象に含める」ということを意味しています。次に「ワークブック」の指定条件を確認すると、「Sample_Data_2016.xlsx」となっています。これは、「ワークブックとしてはSample_Data_2016.xlsxという名前のワークブックをユニオン対象に含める」ということを意味しています。「シート」と「ワークブック」の条件を合わせると、「Sample_Data_2016.xlsxという名前のワークブック内の、全てのシートをユニオン対象に含める」となっていることがわかります。
- ここで、このワークブックの指定条件を「Sample_Data*.xlsx」に変更します。これは、「Sample_Data*.xlsx(*には何の文字が入っても対象とする)に該当する名前のワークブック内の、全てのシートをユニオン対象に含める」という条件になっています。これでOKを押します。
- これにより、データが複数重なっているような表示がされます。
- ユニオンがされているかを確認するために、シート1にて[Path]というカラムを「行」にドラックアンドドロップします。すると「Sample_Data_2016.xlsx」~「Sample_Data_2019.xlsx」という4つのファイル名が存在することがわかり、4つのファイルがユニオンできていることがわかります。
いかがでしたでしょうか。上記ではまだ基本的な部分しかご紹介できていませんが、Tableauでのデータの組み合わせ方法が一通りお分かりいただけたと思います。
一方で、実際にTableauを利用する場合には今回の記事のように単純でないこともあると思います。Tableauの導入・利用をお考えの方は、ぜひ当サイトからご相談ください。
fa-caret-down
当サイトではTableauに関する悩みをスムーズに解決することをお約束します。