Alteryxの検索置換ツール(Find Replace)を使って複数のワードを一括で消去する
Alteryxの検索置換ツールですが、いわゆるExcelのVlookup的な動きをするアイコンで、有用に使えます。
今回は、特定の言葉(ワード)を消したい、という意図での使い方をご紹介します。
例えば、「Fruit」というフィールドがあり、そこには果物のみを入れることにしているとします。しかしながら、なぜか「日本酒」と「ビール」が混ざっているのでこれを消したい、とします。
今回はこのお題をやってみたいと思います。
特定の言葉(ワード)を消去するには
まず、特定の言葉(ワード)を消したい、ということであれば、フォーミュラツール(Formula)を使って、関数のReplaceを使うのが1つの方法です。この場合、複数の言葉を消すためには複数のフォーミュラツールを使わなければなりません。
消去したい言葉が多いときにはこれでは困ります。
一括で複数の言葉(ワード)を消す
一気に複数の言葉(ワード)を消すには、「検索置換(FindReplace)」ツールを使うことで実現できます。
この時、消去したいワードが入ったLookupTableを作る必要があります。消去ワードリスト的なものです。
Alteryxではこのような場合に「テキスト入力(Text input)」ツールが使えます。
今回の目的を実現するワークフローとしては以下のようになります。
ここで、Lookupテーブルの消去したいワードを「Find」という項目で作り、「Replace」というフィールドには何も入れません。
さらに、Lookupテーブルの先に「セレクト(Select)」ツールを接続し、「Replace」フィールドのデータ型を「V_WString」等に変更してください。デフォルトでは「Bool」型となっており、「検索置換(FindReplace)」ツール上の「見つかったテキストを次のフィールドの値で置換」で選択できるフィールドとして表示されません。必ず文字列型にしておく必要があります。
なお、「Replace」フィールドの中の値を入れていないので「Null」となっていますが、置換後はなぜか空白として扱われています。空白とNullを区別したい際は注意すべき内容かと思います(任意の部分で置換する場合にNullだと支障がでるので、空白にしているのかもしれません)。
サンプルワークフロー
※Alteryx Designer 2019.2.7.63499時の情報となります