Alteryxで文字で区切って列を分けたい
こんにちは。Alteryxサポートエンジニアとして日々勉強中のスズです。
このシリーズでは、Alteryxを触り始めた際に出てくる「こうしたいけどやり方が分からない」「どのツールを使えばいいか分からない」といった疑問を切り口として、Alteryxの機能をご紹介していきます。
カンマ区切りで分割したい
上の画像のように、1列の中に「<文字>,<数字>」と入力されているファイルをAlteryxで読み込むと、
1列の中に文字と数字が表示されます。この場合、文字と数字の間にカンマがありますので、カンマで区切ることで、列を分割することができます。
ツールは、[Parse]タブ→[Text To Columns]を使用します。このツールでは、文字列を分割するための区切り文字を指定することで、列を分割することができます。
[Text To Columns]の設定画面にて、[Field to Split]に対象の列名を指定、[Delimiters]には区切り文字となる「,」を指定、[Split to Columns]には列の数を入力します。2列に分割しますので、今回は「2」を指定します。
実行して結果を確認すると、元の列と分割した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の勉強をしつつ、機能をご紹介していきます。