Alteryxで文字で区切って列を分けたい

2018.06.15

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

こんにちは。Alteryxサポートエンジニアとして日々勉強中のスズです。

このシリーズでは、Alteryxを触り始めた際に出てくる「こうしたいけどやり方が分からない」「どのツールを使えばいいか分からない」といった疑問を切り口として、Alteryxの機能をご紹介していきます。

カンマ区切りで分割したい

ファイルの中身

上の画像のように、1列の中に「<文字>,<数字>」と入力されているファイルをAlteryxで読み込むと、

Alteryxでの表示

1列の中に文字と数字が表示されます。この場合、文字と数字の間にカンマがありますので、カンマで区切ることで、列を分割することができます。

ツールは、[Parse]タブ→[Text To Columns]を使用します。このツールでは、文字列を分割するための区切り文字を指定することで、列を分割することができます。

[Text To Columns]の設定画面にて、[Field to Split]に対象の列名を指定、[Delimiters]には区切り文字となる「,」を指定、[Split to Columns]には列の数を入力します。2列に分割しますので、今回は「2」を指定します。

Text To Columns

実行して結果を確認すると、元の列と分割した2つの列が表示されています。

分割結果

文字の指定以外で分割したい場合

Alteryxのヘルプを見てみると、[Text To Columns]の[Delimiters]には文字以外にも以下の指定が可能です。

\t タブ
\n 新しい行
\s 半角スペース
\s\t 半角スペースまたはタブ

今度は「\s\t」を指定した場合を試してみます。

タブと半角スペース

上の画像では、以下のような文字が入力されています。

  • 1行目:<文字><半角スペース><数字>
  • 2行目:<文字><半角スペース><半角スペース><数字>
  • 3行目:<文字><タブ><数字>

このファイルをAlteryxに読み込み、[Text To Columns]で設定します。今回は、[Delimiters]には区切り文字となる「\s\t」を指定、[Split to Columns]には「3」を指定し、実行してみます。

分割結果

半角スペースが使用された行も、タブが使用された行も、どちらも分割されました。
2行目は半角スペースが2つ入力されていたため、3つの列に分割されています。また、1行目と2行目は3列目に相当する文字が存在しなかったため、Nullとなっています。

最後に

Alteryxの基本的な機能として、列を分割する方法をご紹介しました。今後もAlteryxの勉強をしつつ、機能をご紹介していきます。