Alteryxで2つの値が最も近いレコードを取り出す
こんにちは、スズです。
今回はAlteryxで2つの値が近いレコードを取り出してみます。例えば、以下のような2つのデータがあるとします。それぞれのデータにはIDと値が用意されていますが、IDによっては複数のレコードが存在するものもあります。この2つのデータを比較し、各IDが持つ値が近いレコードのみ残します。
2つの値が最も近いレコードを取り出す
ワークフローの概要
今回作成するワークフローはこちら。
- 結合ツールで2つのデータを結合
- フォーミュラツールで各レコードの近さを出力
- ソートツールでレコードが近い順に並べ替え
- サンプリングツールでIDごとに最初のレコードを出力
- セレクトツールで不要なフィールドを削除
ワークフローの詳細
まずは2つのデータを結合ツールで結合します。結合にはIDを参照しています。
フォーミュラツールでは、新しいフィールドを作成して2つのデータの近さを出力します。「高い値 - 低い値」で2つの値の近さを表したいところですが、レコードによって2つのフィールドのどちらが高い値になるのか異なります。そこで、abs([Value] - [Right_Value])
というように、ABS関数を使って2つのデータの差の絶対値を出力します。
2つのデータが近い順に並べ替えるため、ソートツールを使ってフォーミュラツールで出力した絶対値を昇順に並べ替えます。
サンプリングツールを使って、IDでグループ化し、各グループの最初の1行のレコードを取り出します。
セレクトツールで不要なフィールドを削除して完成です。
作成したデータはこのようになっています。
最後に
今回はAlteryxで2つの値が近いレコードを取り出してみました。
サンプルワークフローのご案内
クラスメソッドでご契約のユーザー様向けに、当ブログでご紹介したワークフローを専用ポータルにて公開しております。当エントリでご紹介したワークフローも公開予定ですので、ご参考にしていただきますと幸いです。
Alteryxの導入なら、クラスメソッドにおまかせください
日本初のAlteryxビジネスパートナーであるクラスメソッドが、Alteryxの導入から活用方法までサポートします。14日間の無料トライアルも実施中ですので、お気軽にご相談ください。