AlteryxのFind Replaceツールでできること
こんにちは、小澤です。
以前公開したAlteryxで全角半角を変換するマクロでも利用しているFind Replaceツールですが、これがどのようなツールでどのような使い方ができるのかを、今回は解説していきたいと思います。
Find Replaceツールの使い方
Find Replaceでできること
Find Repalaceツールの基本的な使い方はその名の通り「検索と置換」のような機能になります。 まず以下のようなデータがあるとします。
それに対して、以下のように「ほげ」を「ぴよ」に置換したいというリストを用意します。
Find Replaceを使って置換を行うと、以下のようにデータ中の「ほげ」が全て「ぴよ」に置き換わっているのが確認できます。
Find Replaceツールの設定
ツールの設定は以下のようになっています。
設定はいくつかの項目に分けられます。
検索方法
まずは「Find」の中にある3つのラジオボタンです。 これらはそれぞれ検索対象の指定方法になっています。
Beginning of Field
Beginning of Fieldでは、先頭にあるもののみ、置換対象となります。 例えば、以下のようなデータと結果の組み合わせになります。
データ | 検索対象 | 置換対象 | Find Replaceの結果 | 備考 |
---|---|---|---|---|
ほげ | ほげ | ぴよ | ぴよ | |
ほげほげ | ほげ | ぴよ | ぴよほげ | 2つ目の「ほげ」はデータの先頭ではないので置換されない |
ほげ が ほげ る | ほげ | ぴよ | ぴよ が ほげ る | 同様 |
ほげふが | ほげ | ぴよ | ぴよふが | |
ふがふが | ほげ | ぴよ | ふがふが | データ中に「ほげ」はない |
ふがほげ | ほげ | ぴよ | ふがほげ | データ中に「ほげ」現れるのが先頭ではない |
Any Part of Field
Any Part of Fieldでは、データ中の任意の位置のものを置換します。 文脈に依存せずに置換されるので例えば、検索対象が「京都」だった場合「東京都」に含まれる「京都」も対象になります。
データ | 検索対象 | 置換対象 | Find Replaceの結果 | 備考 |
---|---|---|---|---|
ほげ | ほげ | ぴよ | ぴよ | |
ほげほげ | ほげ | ぴよ | ぴよぴよ | 「ほげ」が全て置換される |
ほげ が ほげ る | ほげ | ぴよ | ぴよ が ぴよ る | 同様 |
ほげふが | ほげ | ぴよ | ぴよふが | |
ふがふが | ほげ | ぴよ | ふがふが | データ中に「ほげ」はない |
ふがほげ | ほげ | ぴよ | ふがぴよ | データ中の「ほげ」が現れる位置は先頭である必要はない |
Entire Field
Entire Fieldは全体一致となります。
データ | 検索対象 | 置換対象 | Find Replaceの結果 | 備考 |
---|---|---|---|---|
ほげ | ほげ | ぴよ | ぴよ | 完全一致で「ほげ」 |
ほげほげ | ほげ | ぴよ | ほげほげ | |
ほげ が ほげ る | ほげ | ぴよ | ほげ が ほげ る | |
ほげふが | ほげ | ぴよ | ほげふが | |
ふがふが | ほげ | ぴよ | ふがふが | |
ふがほげ | ほげ | ぴよ | ふがほげ |
検索対象
検索方法の右側の項目は対象となるデータの設定をします。
「Find Within Field」では、検索対象のデータを指定します。先ほどの「検索方法」のテーブルにおける「データ」となっていた項目に相当する列を指定します。
「Find Value」では、検索対象の文字列となる列を指定します。 先ほどのテーブルでは「検索対象」に相当します。
検索条件の指定
その下にある2つのチェックボックスでは、検索条件の指定が行えます。
項目 | チェックが入ってる時の動き |
---|---|
Case Insenitive Find | アルファベットの大文字小文字を区別しない |
Match Whole Word Only | 単語単位で検索する |
Match Whole Word Onlyにチェックを入れた時の単語単位で判定されます。 たとえば、「a」を「the」変換するなどといった場合、チェックが入っていないと「this is a ball pen」が「this is the bthell pen」のようにballの中の「a」も変換されてしまいます。 チェックが入っていると、「this is the ball pen」のように1つの単語としての「a」のみが置換されます。 ただし、単語の区切りはスペース単位で判定されるため、日本語などの分かち書きを行わない言語での単語判定の仕組みはバージョン2018.1現在の段階では存在していません。 (「a」が正しいとか、ボールペンが英語でball penなのか?とかのツッコミはなしでお願いしますw)
出力の指定
その下の「Replace」でグループ化されている部分は、「Replace Found Text With Value」か「Append Field(s) to Record」のどちらかを選ぶ方式になっています。
Replace Found Text With Value
「Replace Found Text With Value」を選択した場合は、検索で見つかった単語を置換します。 その際の置換対象となる列を指定します。先ほどのテーブルでは「置換対象」の項目になります。
「Replace Multiple Found Items」にチェックが入っている場合は、複数箇所見つかった場合は全て置換になります。 チェックが入っていない場合は先頭から順に見ていって一番最初に見つかったもののみになります。 例えば、「ほげ」→「ふが」という置換を指定していて「ほげほげ」が対象だとすると、チェックが入っていない場合「ふがほげ」、入っている場合は「ふがふが」に置換されます。
Append Field(s) to Record
「Append Field(s) to Record」を指定した場合は、置換を行うのではなく、結合を行います。 文字列の部分一致で指定可能なJoinのような動きをすると思ってください。 その下に表示されている列一覧は結合対象にする列を指定します。
最初の例で示したようなデータを置換ではなく結合するように指定すると、以下のような結果になります。
おわりに
今回は、Find Replaceツールの紹介をしました。
このツールは全角半角を変換するマクロでも実際に使っており、表記揺れの解消などにも利用可能でしょう。 また、ツールの説明文にもある通り、ExcelのVLOOKUP関数相当の使い方も可能です。
Alteryxの導入なら、クラスメソッドにおまかせください
日本初のAlteryxビジネスパートナーであるクラスメソッドが、Alteryxの導入から活用方法までサポートします。14日間の無料トライアルも実施中ですので、お気軽にご相談ください。