Alteryxでデータから文字列を検索する方法

2021.06.29

こんにちは、スズです。

今回はAlteryxでデータから文字列を検索する方法をご紹介いたします。文字列を検索する場合、検索した結果によって何をしたいかによって使用するツールを使い分けると便利です。いくつか例を交えてご紹介いたします。

データを分ける

データから文字列を検索した結果によってデータを分けたい場合は、フィルターツールを使用できます。

以下のデータに「Name」列に「だんご」という文字列が含まれているか否かによってデータを分けてみます。

フィルターツールでは基本フィルターにName含む団子を設定します。

出力結果を確認すると、Trueの出力アンカーには「だんご」という文字列があるデータのみ出力されています。

Falseの出力アンカーには「だんご」という文字列が含まれていないデータが出力されています。

文字列を置換する

データから文字列を検索して見つかった場合に異なる文字列に置換したい場合は、検索置換ツールを使用できます。

以下のデータの「Name」列の一部の文字列を置換してみます。

検索する文字列と置換後の文字列の対応表となるデータを用意します。以下のデータの「Find」列が検索する文字列、「Replace」列が置換後の文字列とします。

検索置換ツールでは以下のように設定します。

  • フィールドの任意の部分
  • 検索対象のフィールド: 「Name」列
  • 検索する値: 「Find」列
  • 見つかったテキストを次のフィールドの値に置換: 「Replace」列

出力結果を確認すると、「だんご」が「団子」に、「まんじゅう」が「饅頭」に置換されています。

真偽値を入れる

データから文字列を検索した結果によって真偽(True/False)を入れたい場合は、フォーミュラツールを使用できます。

以下のデータの「Name」列に「だんご」が含まれるか否かによって真偽を入れてみます。

フォーミュラツールでは、Bool型で新しい列を作成し、IIF(Contains([Name], "だんご"), 1, 0)という式を設定します。Containsを使って「Name」列に「だんご」があるかどうかを判定し、IIFを使って「だんご」があった場合に「1」(True)を、「だんご」がなかった場合に「0」(False)を出力します。

出力結果を確認すると、「Name」列に「だんご」が含まれている場合に「True」が、「Name」列に「だんご」が含まれていない場合は「False」が出力されています。

真偽値を入れるという使い方で紹介しましたが、検索対象の文字列がある場合/ない場合によって異なるデータを出力する場合などにも利用できます。

さいごに

Alteryxでデータから文字列の検索について、例を交えてご紹介しました。