Alteryxで2つの値が最も近いレコードを取り出す

2020.03.26

こんにちは、スズです。

今回はAlteryxで2つの値が近いレコードを取り出してみます。例えば、以下のような2つのデータがあるとします。それぞれのデータにはIDと値が用意されていますが、IDによっては複数のレコードが存在するものもあります。この2つのデータを比較し、各IDが持つ値が近いレコードのみ残します。

 

2つの値が最も近いレコードを取り出す

ワークフローの概要

今回作成するワークフローはこちら。

  1. 結合ツールで2つのデータを結合
  2. フォーミュラツールで各レコードの近さを出力
  3. ソートツールでレコードが近い順に並べ替え
  4. サンプリングツールでIDごとに最初のレコードを出力
  5. セレクトツールで不要なフィールドを削除

ワークフローの詳細

まずは2つのデータを結合ツールで結合します。結合にはIDを参照しています。

フォーミュラツールでは、新しいフィールドを作成して2つのデータの近さを出力します。「高い値 - 低い値」で2つの値の近さを表したいところですが、レコードによって2つのフィールドのどちらが高い値になるのか異なります。そこで、abs([Value] - [Right_Value])というように、ABS関数を使って2つのデータの差の絶対値を出力します。

2つのデータが近い順に並べ替えるため、ソートツールを使ってフォーミュラツールで出力した絶対値を昇順に並べ替えます。

サンプリングツールを使って、IDでグループ化し、各グループの最初の1行のレコードを取り出します。

セレクトツールで不要なフィールドを削除して完成です。

作成したデータはこのようになっています。

最後に

今回はAlteryxで2つの値が近いレコードを取り出してみました。

サンプルワークフローのご案内

クラスメソッドでご契約のユーザー様向けに、当ブログでご紹介したワークフローを専用ポータルにて公開しております。当エントリでご紹介したワークフローも公開予定ですので、ご参考にしていただきますと幸いです。

Alteryxの導入なら、クラスメソッドにおまかせください

日本初のAlteryxビジネスパートナーであるクラスメソッドが、Alteryxの導入から活用方法までサポートします。14日間の無料トライアルも実施中ですので、お気軽にご相談ください。

alteryx_960x400