Free Trial

ディスカッション

答えを見つけ、質問し、Alteryx の専門知識を共有してください。

【Ideaに投稿しました】カスタム条件によるJoin

gawa
オーロラ

先ほど首記の件をIDEAに投稿しました。ご賛同いただける方は、リンク先でいいね押していただけると嬉しいです。

https://community.alteryx.com/t5/Alteryx-Designer-Desktop-Ideas/Join-by-Custom-Conditions/idi-p/1174...

 

要約すると、

現状の課題:   等価条件 か レコード位置 の条件でしか結合しかできない

提案する新機能: 数式エディターで指定した条件で結合できるオプションが欲しい

というものです。

 

例えばSQLですと以下のように数字の大小比較などの色々な演算子を含んだ条件を結合条件に指定できるわけですが、Alteryxでこれをやるとフィールド付加+フィルターの組み合わせるしかなく、データ量が多いとフィールド付加の計算は非常にコストがかかるので悩まされていました。

また、ETLツールというからには、SQLでできることは須らく実現してほしいなという願いもあり、投稿した次第です。

 

SELECT TableA.id FROM TableA INNER JOIN TableB ON TableA.id=TableB.id and TableA.value > TableB.value  

 

 

新機能を実装した設定画面のイメージ

image.png

3件の返信3
AkimasaKajitani
17 - Castor
17 - Castor

@gawa さん

 

ワークフローをわかりやすく作りたい、という視点からは、それなりに高度な感じになってくるのでマイナスポイントとなってしまうかもしれません。ただ、おっしゃるようにデータ量が多すぎるような場合は効果的かもしれませんね!

(そもそもこれ、In-DBの機能にも入れて欲しい気がします・・・)

 

gawa
オーロラ

@AkimasaKajitani さん

そこはご指摘の通りでして、ぱっと見で条件が分かりずらいという可読性の問題があるなと私も思いました。いっそ、別のツールでもいいくらいです。

処理の速さは、データが少ないとあまり気にならないのですが、数万行 X 数万行とかの自己結合処理みたいな時に、この機能が欲しくなっちゃいます。Joinだと、JoinされなかったデータがLとRからそのまま出てくるので、何かと便利です。フィールド付加+フィルタだと、FアンカーからのJoin済みデータを分解しないと、Joinされなかったデータが分からないので、あんまりスマートじゃないなぁと。。。

AkimasaKajitani
17 - Castor
17 - Castor

@gawa さん

 

データ量が多すぎると、ツール内で生成されるデータ量が少なくできるようなオプションがあると助かりますよね!機能としては面白いと思うので、実装されるといいですね・・・。