🍊

[Tableau Certified Data Analyst試験に向けて] Tableau PrepのJOINについて

2024/07/29に公開

はじめに

こんにちは。現在会社の有志でTableau Certified Data Analyst試験対策をしています。
その試験では,Tableau Prepの操作方法もいっしょに出題されますので,Prepの,とくにJOINについて(普段あまり使わないがゆえに)知らなかった部分を記録しておきます。

環境

  • Tableau Prep v2022.3.4
  • Mac Ventura 13.6

使ったテーブル

JOINするには複数のテーブルが必要なので,今回はテーブル1とテーブル2を使用します。Excelでさくっと作っています。これらをidでJOINしたときに,どの行が残りどの行が除外されて出力されるかを見てみましょう。
まずテーブル1。

id v
1 a
2 b
3 c

そしてテーブル2。

id v
1 x
2 y
4 z

まとめると

Tableau Desktopユーザには馴染みがありませんが,Tableau Prepでは理論上可能なすべてのJOIN(7種類)が実現できます。

以下,実際の画面

そもそもTableau PrepでJOINを行なうには

Tableau PrepでJOINをするには,次のように操作します。

  1. JOINする際左側となるデータソースをフローペインに配置する
  2. (必要なら)クリーニングなどを行なう
  3. JOINさせたいフロー位置に,JOINの右側となるデータソースをドラッグしてくる
  4. 「結合」マークが出てくるので,そこにドロップする

JOINさせたいときに,結合フローを先に作らなくてもよいことに注意が必要です。
下の画像は上記3つめのステップでの画面です。返品シートをドラッグしてくると,結合かユニオンかが表示されるので,結合の枠にドロップしましょう。

もちろん,結合ステップを先に作成しておいて,あとから右側テーブルとなるデータソースを追加することもできます。その場合は,結合ステップに重なるところにドラッグしてきましょう。

JOINの種類別に出力を確認する

内部 (Inner)

2つのテーブルの両方に存在するidの行が残ります。つまり,id = 1, 2のみ。

左外部 (Left, Left Outer)

左側のテーブルの行がすべて残ります。id = 1, 2, 3

左の不一致のみ (Left Unmatched Only, Left Only)

左側のテーブルの行のうち,右側テーブルに含まれていない行が残ります。id = 3

右外部 (Right, Right Outer)

右側のテーブルの行がすべて残ります。id = 1, 2, 4

右の不一致のみ (Right Unmatched Only, Right Only)

右側のテーブルの行のうち,左側テーブルに含まれていない行が残ります。id = 4

不一致のみ (Unmatched Only, Not Inner)

片方のテーブルの行のうち,もう片方のテーブルに含まれていない行が残ります。id = 3, 4。データの差分を確認したいときに便利ですね。

完全外部結合 (Full Outer, Outer)

どちらか一方のテーブルに含まれている行が全て残ります。id = 1, 2, 3, 4

ちなみにTableau Desktopでは

内部,左外部,右外部,完全外部,の4種類のみサポート。

おわりに

不一致の行を確認できるのが好感触でした。あと細かい英語の名称とかもよく混乱してしまうので,定期的に見返していきたいです。

余談

現在,弊社Rakutenではモバイルの社員紹介キャンペーンを実施しております。
下記リンクから,Rakuten会員でログインいただくと,回線変更で最大14,000ポイントがもらえるので,ご興味ある方はぜひアクセスしてみてください!

https://r10.to/hNCoik

Discussion