WeeklyAlteryxTips#10 左結合を複数結合ツールで楽に行う

Alteryx

今回は、結合ツールについてです。

左結合を複数結合ツールで楽に行う方法

例えば、販売データとマスタデータがあるとします。

販売データ:

マスタデータ:

たいてい、左結合(Left Join)を行う場合、結合ツールとユニオンツールを組み合わせて行うと思います。

ただ、R入力に余計なものがないとわかっている場合、いちいちユニオンツール配置するのがめんどくさいですよね・・・。

そのような場合には、複数結合ツールが使えます。つまり以下のようなワークフローになります。

複数結合ツールは、基本的に完全外部結合(Outer Join)もしくは内部結合(Inner Join)しかできません。デフォルトでは、完全外部結合(Outer Join)になっています。そのため、R入力に余計なデータがある場合(左入力からのデータでヒットしないデータがある場合)は余計なデータが混入してしまいます。

そのような場合は、フィルタで省く必要があります。

フィルタは、L入力側のキー列として指定したフィールドで判定を行えばオッケーです(今回で言えば、「items」で紐づけを行っているので、「items」のNull判定となります)。ですが、これだと結合+ユニオンでいいのでは?と思ってしまいますね・・・(せっかく楽したはずなのに楽になっていない・・・)。

つまり、R入力側のデータに余計なものがある場合は、フィルターツールが必要になるため、素直に結合とユニオンを使った方が良いです。速度的には、

複数結合のみ > 結合+ユニオン > 複数結合+フィルター

となります。実際のワークフローでは、R入力の不要なデータがあるかどうか不明な場面も多いかと思うので、結局結合+ユニオンというパターンが多いのではないかと思います。

※AMPエンジンオン(エンジン互換モードオフ)で実施しています

意外と、フィルターツールで時間がかかるんですね・・・。

なお、簡易な検証しかしていないので、実際のデータで検証していただければと思います。

サンプルワークフローダウンロード

次回

次回はデータ理解についてとなります。

コメント

タイトルとURLをコピーしました