[Tableau Certified Data Analyst試験に向けて] Tableau PrepのJOINについて
はじめに
こんにちは。現在会社の有志で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をするには,次のように操作します。
- JOINする際左側となるデータソースをフローペインに配置する
- (必要なら)クリーニングなどを行なう
- JOINさせたいフロー位置に,JOINの右側となるデータソースをドラッグしてくる
- 「結合」マークが出てくるので,そこにドロップする
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ポイントがもらえるので,ご興味ある方はぜひアクセスしてみてください!
Discussion