Tableauのデータ結合とデータの入れ替えについて

Tableauのデータ結合と新規データへの入れ替えについて説明します

結合とは?

Tableauにおける「結合」は、「Tableauの複数データの取扱いについて(概要編)」の記事でも以下の通り説明しました。

「結合」は、Microsoft ExcelのVlookup関数のイメージが近いです。もしくは、SQLなどご存知の方であれば「Join」という言葉を聞いたことのある方がいらっしゃるかと思いますが、それをご存知であれば「JOIN」に相当するものになります。

操作としては「キー列に基づいて複数のテーブルを結合する」というものですが、言い換えますと「ある特定の項目の値が一致するレコード同士の項目を結合する」イメージとなります。

さらに簡単に言い換えますと、「複数のテーブルを横に連結する」というものになります。

例えば、以下のサンプルであれば、「No」という項目内の値で、一致するレコードを横に連結している形となります。

Tableau結合

結合のやり方について

それでは、実際の結合を行ってみたいと思います。

Tableau付属のいつもの「サンプル - スーパーストア.xls」を使いたいと思います。ファイルの場所は、おそらく「マイドキュメント」の「マイTableau リポジトリ」の「データソース」のバージョン番号(例:2018.3)の「ja_JP-Japan」にあるかと思います。

なお、このファイルには3つのシートがあり、それぞれ「注文」「返品」「関係者」となっています。

「注文」シートは、いわゆる販売データとなっています。「返品」シートを今回使いますが、返品された「オーダーID」に「○」が入っているだけのシートです。返品されていないオーダーIDはレコードとして存在していません。

この2つのシートから、以下のようなイメージの形で結合を行いたいとします(いわゆる「左結合」での結合を実施)。

Tableau_作成したいイメージ

それでは手順を追っていきます。Tableau起動直後の画面から、「サンプル - スーパーストア.xls」へ接続するために「Microsoft Excel」を選択すると、ファイル選択のメニューが開きます。

Tableauファイルを開く

ここで、ファイル「サンプル - スーパーストア.xls」を指定すると、以下のような画面になります。

Tableau_ファイルを開いた直後

「ここにシートをドラッグ」というオレンジ色の文字のところに、最初に読み込みたいシートをドラッグ&ドロップします。今回は、「注文」をドラッグ&ドロップしてください。

Tableau_ここにシートをドラッグ

すると、最初のシートが読み込まれます。

Tableau_シートが読み込まれます

次に、結合したいシートをドラッグ&ドロップします。今回は「返品」のシートをドラッグ&ドロップしてください。

Tableau_結合したいシートをドラッグ

すると、デフォルトでは内部結合で結合されます。

Tableau_結合したいシートをドラッグ後

結合方法を変えたい場合は、下図のように結合アイコンをクリックします(今回は、「左結合」で結合したいので、クリックする必要があります)。

Tableau_結合アイコンをクリック

ここで、結合方法の設定は、

  1. 結合方法の指定
  2. キーフィールドの指定

の2つです。結合方法のアイコンをクリックすると、以下のような設定画面が出てきます。

Tableau_結合方法説明

今回行う内容として、「注文」シートすべてのレコードと、それに対して「返品」シートに存在するレコードに対して「○」を結合することとします。イメージとしては以下の画像の通りです。

Tableau_作成したいイメージ

この場合は、左結合になるので、以下のように設定します。キーフィールドはデフォルトのままでOKです(Tableauって頭良い!)。

Tableau_結合の設定

なお、キーフィールドについては、結合しようとする2つのシートやテーブルにて名前が一致する項目があれば自動的に表示されますが、項目名が異なる場合は自分で設定する必要があります。また、複数の項目を設定することも可能ですので、状況にあわせて設定するようにしてください。

ここで、データソースの画面にて右の方へスクロールさせて行くと右端の方に結合された項目が出てきますが、実際に「返品」シートの「オーダーID」と「返品」が結合されていることがわかると思います。左結合ですので、「注文」「返品」シート両方に存在するレコードは、それぞれの値が入っていますし、「注文」シートに存在して「返品」シートの方に存在しないレコードは「Null」という表記になっているかと思います。

Tableau_結合結果

ここまでで、結合は完了になります。

実際にシート1に移ると、それぞれのシート名とその中に項目があることがわかると思います。

Tableau_ビュー画面

注意結合設定がデフォルトのままであれば、「注文」「返品」シート両方に存在するレコードのみとなるので、件数が少なくなります(注文:1万レコードに対して、返品:1,263レコードとなるため、誤って内部結合にしてしまいますと、結果は1,263レコードとなります)。慣れないうちは、必ず件数の確認をしましょう。

2つ以上のテーブルでも結合は可能です

上の例では2つのテーブル(シート)で結合を行いましたが、3つ以上のテーブル(シート)でも可能です。やり方としてはドラッグ&ドロップしていくだけですので割愛しますが、下図のようなことも可能です。

Tableau_3つ以上のデータ結合

結合したデータソースの入れ替えを行う際の注意点

結合を行っているワークブックのデータソースの入れ替えを行う際、若干注意点があります。

手順としては、

  1. 新しいデータソースの追加
  2. (自動的に結合されたら)削除
  3. データソースの入れ替え
  4. 古いデータソースを削除

という流れになります。

それでは今回は、2019年のスーパーストアのファイル(今回はファイルコピーでリネームしただけのダミーのファイルです)に入れ替えたいとします。

1.新しいデータソースの追加

まずは、左上にある「追加」をクリックします。

Tableau_結合したデータソースの入れ変え_まずは追加

普通にデータソースへの接続ボタンを押した時と同じようにダイヤログが出現しますので、今回もExcelファイルということであれば「Excel」をクリックします。

Tableau_結合したデータソースの入れ変え_通常のダイヤログ出現

ここで、入れ替えたいファイルを選択すると、以下のように新たな接続として追加されます。

Tableau_結合したデータソースの入れ変え_追加後

ここで、「接続」にあるデータソース名をクリックすると、下側のシートの部分がクリックしたデータソースのものになります(今回は同じシート名を含んでいるので、表面上は見た目が切り替わりません)。

2.(自動的に結合されたら)削除

Excel同士ではなりませんが、Excelに対してCSVファイルなどを追加すると、自動的に結合までされてしまうことがあります。

Tableau_自動的に結合されることがあります

このような場合は、さくっと削除してください。自動的に追加されたデータソースのシート名を右クリックし、メニューから削除を選択します。

Tableau_自動的に結合されたら削除

3.データソースの切り替え

ここまでくればあと少しです。「接続」にある新たなデータソースの新たなシートから古いデータソースの方へドラッグ&ドロップすると、新しいデータソースに切り替わります。

Tableau_結合したデータソースの入れ変え_入れ替え

古いシート名にドラッグ&ドロップする際、ユニオンにならないように気をつけてください。以下のような状態でドロップすると、ユニオンになってしまいます(「表をユニオンへドラッグ」が出ていない状態でドロップするのが正解です)。

Tableau_ユニオンにならないように

うまく行けば、以下のようにシート名の左端の色が変わります。

そもそも、接続しているデータソース名と、右側にあるテーブル名の左端が色分けされていると思いますが、それぞれ対応しています。

Tableau_色が連動

「返品」シートも同様にして入れ替えましょう。

4.古いデータソースを削除

データソースの入れ替えが終われば、古い方のデータソースを削除して終了です。

「接続」から古い方のデータソースを右クリックし、メニューから「削除」を選ぶとデータソースの入れ替えは終わります。

Tableau_データソース削除

その他注意事項

ここでは紹介していない「よくある注意事項」を紹介します。

  • データ結合ができないデータソースがあります(Tableau Serverデータソース、抽出専用データ等) → データブレンドをご利用ください
  • データベースの種類が異なる場合は「クロスデータベース結合」となります(見た目上通常の結合と変わりませんが、パフォーマンスに問題がでる場合があります) → データの「抽出」の利用を検討ください
  • キーフィールドの指定で、計算式も利用可能です
  • キーフィールドで日付を含む項目を指定する場合は、詳細レベル(年まで入っているのか、日付まで入っているのか)を確認して、紐付けるキーフィールドが同じレベルになっていることを確認してください → 場合によっては計算式で加工する必要があります
  • その他詳細はTableauのオンラインヘルプをご確認ください。

まとめ

今回は、Tableau Desktopにおけるデータ結合と結合したデータの入れ替えのやり方について紹介しました。データ結合はTableauを使う上で基本的な事項となります。データ分析の際、ほとんどの場合で複数データソースを扱うと思いますし、その中でも結合する機会は多いと思いますので、慣れていただければと思います。

なお、データ結合については細かい制限や注意事項などありますので、Tableauのヘルプもご確認ください。

また、Tableauの複数データの扱いについて概要を記載した記事もありますので、あわせてご確認ください。

Tableauの複数データの取扱いについて(概要編)
2019.1.22
Tableauの複数データの取扱(ユニオン、結合、データブレンド)について説明します はじめに データ分析を行う際、「複数のデータソースを利用する企業が9割」だと言われています。 出展: HBR, Data Blending:A Powerful Method for Faster,Easier D...

※Tableau Desktop 2018.3時点の情報です

  • DataTableの冒頭画像
    【Tableau拡張機能紹介】Data Tables
  • Tableau_about
    Tableauとは?-Tableauの概要をご説明します
  • Excelの名前付き範囲を使ってTableau/Alteryxで幸せになる話
  • ユニオン_アイキャッチ
    Tableauの複数ファイルの読み込み(ユニオン)について
  • TableauReader32bit
    Tableau Reader 32bit版(旧バージョン)について
  • 設定後
    Tableauのダッシュボード拡張機能(Dashboard Extensions)とは
Tableauの導入はぜひKCMEで!

セルフBIツール「Tableau」は2週間無償トライアルが可能です。

製品に対する操作方法、技術的な質問などは導入前・導入後に関わらずメールにてお答えします。また、Tableauを用いた環境構築、開発、ヘルプデスク対応、ハンズオン、トレーニング、ワークフロー作成なども承りますので、お気軽にご相談ください。

おすすめの記事