[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