【AlteryxTips】検索置換(FindReplace)ツールを使って複数のワードを一括消去

Alteryxの検索置換ツール(Find Replace)を使って複数のワードを一括で消去する

Alteryxの検索置換ツールですが、いわゆるExcelのVlookup的な動きをするアイコンで、有用に使えます。

今回は、特定の言葉(ワード)を消したい、という意図での使い方をご紹介します。

例えば、「Fruit」というフィールドがあり、そこには果物のみを入れることにしているとします。しかしながら、なぜか「日本酒」と「ビール」が混ざっているのでこれを消したい、とします。

今回の目標

今回はこのお題をやってみたいと思います。

特定の言葉(ワード)を消去するには

まず、特定の言葉(ワード)を消したい、ということであれば、フォーミュラツール(Formula)を使って、関数のReplaceを使うのが1つの方法です。この場合、複数の言葉を消すためには複数のフォーミュラツールを使わなければなりません。

消去したい言葉が多いときにはこれでは困ります。

フォーミュラを使う場合

一括で複数の言葉(ワード)を消す

一気に複数の言葉(ワード)を消すには、「検索置換(FindReplace)」ツールを使うことで実現できます。

この時、消去したいワードが入ったLookupTableを作る必要があります。消去ワードリスト的なものです。

Alteryxではこのような場合に「テキスト入力(Text input)」ツールが使えます。

今回の目的を実現するワークフローとしては以下のようになります。

検索置換のWF

ここで、Lookupテーブルの消去したいワードを「Find」という項目で作り、「Replace」というフィールドには何も入れません。

さらに、Lookupテーブルの先に「セレクト(Select)」ツールを接続し、「Replace」フィールドのデータ型を「V_WString」等に変更してください。デフォルトでは「Bool」型となっており、「検索置換(FindReplace)」ツール上の「見つかったテキストを次のフィールドの値で置換」で選択できるフィールドとして表示されません。必ず文字列型にしておく必要があります。

なお、「Replace」フィールドの中の値を入れていないので「Null」となっていますが、置換後はなぜか空白として扱われています。空白とNullを区別したい際は注意すべき内容かと思います(任意の部分で置換する場合にNullだと支障がでるので、空白にしているのかもしれません)。

サンプルワークフロー

特定の言葉(ワード)を消去するWF

 

 

※Alteryx Designer 2019.2.7.63499時の情報となります

おすすめの記事