Alteryx|不要な文字を削除する

データの処理・加工が得意なAlteryxのツールを使って、様々な方法でデータクレンジングしてみました
2023.02.01

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、ikumiです!
Alteryxのデータクレンジングツールを使用して不要な文字を削除していく方法もありますが、今回はデータクレンジングツールで対応できない記号の削除を試していきます。

データクレンジングツールで削除できる記号

公式ヘルプにも記載の通り、「句読点の削除」を設定した場合に削除される記号は以下の通り。

  • 句読点は以下の文字を削除します。
    !" # $ % & ' ( ) * + , \ - . / : ; ?@ [ / ] ^ _ ` { | } ~

そのため、「♪」や「¥」などといった記号の削除は行われないそうです。実際に試してみましょう。

句読点の削除を実践

以下のデータを対象にデータクレンジングツールを設定していきます。

ツールの設定内容はこちら。

実行結果

このように、Alteryxで事前に定義されている記号や半角スペースのみが削除され、全角の「¥」などの記号は削除されない結果となりました。

他の方法でやってみる

まずは全角「¥」を含んだデータを用意

実際に以下の方法で実践
フォーミュラツール
正規表現ツール

フォーミュラツール

フォーミュラツールでは、式を使って列の内容を操作したり既存の列を更新することができます。今回は3パターンの文字列関数で既存の式を更新しました。

Replace関数

ターゲットの文字を指定の文字に変換する関数。今回は「¥」を空白に置換することで記号を削除する

Substring関数

指定した箇所から任意の文字数分抜き出す関数。今回は1文字目から、入力されたそれぞれの入力文字数分抜き出す
point1:開始箇所は最初の文字を0文字目として計算
point2:抜き出したい文字数は、length関数を使用して全体の文字数を取得してから、「¥」分を1文字マイナスした数(=数字だけの文字数)

TrimLeft関数

文頭から指定した文字を削除する関数。今回は文頭にある「¥」を削除

正規表現ツール

続いてちょっと変化球で正規表現を使用して記号の削除に挑戦してみました。今回は正規表現の置換出力で数字のみを抜き出す方法をやってみました。
point1:文頭の¥と4~5桁の数字をグルーピング
point2:ブースト拡張書式の構文で2番目のグループを再配置

最後に

今回試した4つの方法すべてで「¥」を削除することができました。どれを使うのがよいのかは状況によるかと思いますが、私自身も勉強になりました。他に良い方法を発見したらまた記事にしていきたいと思います。