【AlteryxTips】検索置換ツール(Find Replace)の挙動について

Alteryxの検索置換ツールの挙動についてご紹介します

Alteryxの検索置換ツールですが、どのような挙動で動いているのか気になったので少し調べてみました。

検索置換ツールで、

  1. 検索する値のフィールド内に同じ名前のレコードが複数ある場合
  2. 検索する値のフィールド内に複数の置換候補レコードがある場合

どうなるのでしょうか?

わかりやすくするために具体的な例をあげたいと思います。

まず、検索元のフィールドは以下のようにします(検索置換ツールのF入力へ入るデータ)。

検索置換ツール検証用データ

このデータテーブルの「カテゴリ」という項目に対して、データの置換検索を行いたいと思います。検索置換ツールの「R入力」へ入れるデータは以下のようになります。

1の「検索する値のフィールド内に同じ名前のレコードが複数ある場合」では、以下のようなテーブルを使って置換を行います。つまり、検索する値が複数レコード同じになっています(「ビール」が複数レコードあるということです)。この時、どちらのレコードが反映されるか?

置換検索テーブル1

2の「検索する値のフィールド内に複数の置換候補レコードがある場合」では、以下のようなテーブルを使って置換を行います。

こちらは、置換先のフィールドに「日本酒」がある場合、「日本」のレコードがあたるのか「日本酒」のレコードがあたるのか?というところがポイントです。

置換検索テーブル2

※こちらのパターンは、前提としてツールの「検索」の設定の部分が「フィールドの任意の部分」ということになります(フィールド全体の場合は必ず完全一致のため結果は一つです)。

1.検索する値のフィールド内に同じ名前のレコードが複数ある場合

検索置換ツールのF入力

検索置換ツール検証用データ

に対して、R入力

置換検索テーブル1

を以下のような設定で実行してみます。

置換検索テスト1の設定

予測される結果は、「ビール」が「Beer」もしくは「麦酒」になるはずです。

結果は以下の通りです。「ビール」が「Beer」になりました。

結果1

ちなみに、R入力側を並べ替えて実行してみました。

置換検索テーブル1(逆順)

結果は以下の通り。

結果1(逆順)

今度は「ビール」に「Beer」ではなく「麦酒」で置換されました。

このことから導き出せるのは、下のレコードからマッチングをかけている、ということでしょうか。

結論:検索置換ツールのR入力側の置換候補は、下から優先される

2.検索する値のフィールド内に複数の置換候補レコードがある場合

次、検索置換ツールのF入力は同様です。

検索置換ツール検証用データ

に対して、R入力は、

置換検索テーブル2

です。この場合、下から優先的に検索されると「日本酒」は「日本」のレコードが先に検索され「Japan」が入るはずです。

結果は以下の通り。

結果2

こちらは想定どおりとならず、「日本酒」のレコードの「Sake」で置換されました。

では、逆の順番にしてみましょう。R入力を以下の通りにします。

置換検索テーブル2(逆順)

結果はやはり同じでした(日本酒のレコードで置換される)。

このことから言えるのは紐付けは順番がすべてではなく、最も一致度が高いものが優先的に置換対象となる、ということです。内部的な動作は結果から類推するくらいしかできませんが、一致度が高いものを優先的に置換対象としていると考えて良いかと思います。

ちなみに、以下のようなテーブルで再検証すると、1,2の結果の組み合わせとなります(最も一致度が高いものの中で下からマッチングする)。

置換検索テーブル3

より一致度が高いものを候補とし、下から検索する、ということになります。

結果3

結論:最も一致度が高いものがマッチングされる

まとめ

Alteryxの検索置換ツール(Find Replace Tool)ですが、以下のような挙動となります。

  1. 一致度の高いものからマッチングする
  2. 同じワードの検索候補が複数あれば下からマッチングする

 

ここに記載していることが全てではないと思いますので、実際にご利用の環境で最終的にどのような挙動をしているかは確認してから使うようにお願いいたします。

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

FindReplace_SampleWF_紐付け方検証

 

※Alteryx 2019.2.7.63499時点の情報です

Alteryxの導入はぜひKCMEで!

セルフサービスデータ分析ツール「Alteryx」は4週間無償トライアルが可能です。

製品に対する操作方法、技術的な質問などは導入前・導入後に関わらずメールにてお答えします。また、Alteryxを用いた環境構築、開発、ヘルプデスク対応、ハンズオン、トレーニング、ワークフロー作成なども承りますので、お気軽にご相談ください。

おすすめの記事