Alteryxツールアイコン「テキストを列に分割ツール」(Text To Columns Tool)をご紹介します
テキストを列に分割ツール(Text To Columns Tool)
「パース」カテゴリの「テキストを列に分割」ツールについて紹介します。
概要
このツールは指定されたフィールドの文字列を、区切り文字に従って分割し、新しいフィールドに格納します。特徴的な機能として、分割の方向として列だけでなく行方向も指定できることです。
Microsoft Excelのマクロ(VBA)や各種プログラミング言語を学んでいる方であれば、Split関数の機能と言い換えればわかりやすいかと思いますが、実際に行われる処理は以下のイメージとなります。
設定画面
このツールはVersion2018.3より大幅に見た目が変更されてます。機能の変更はありません。
区切り文字について
本ツールは大変便利ですが、区切り文字に単語(複数文字で1語とみなす)を扱うことは出来ません。設定した区切り文字は複数の場合は単語としてではなく、一文字ごとに区切り文字として扱われます。
例えば、文字列「ABCDEFG」を区切り文字「BF」とすると「A」「CDE」「G」と分割されます。
その他特殊文字として次の物が使用出来ます。
区切り文字 | 内容 |
---|---|
\t | タブ ※Helpには「t」とありますが、バックスラッシュが必要です |
\n | 改行 |
\s | スペース |
\s\t | タブまたはスペース |
「列に分割する」「行に分割する」
「列に分割する」
オプション | 内容 |
---|---|
列数 | 分割する列数を指定します。 |
超過文字 | 分割数以上になる場合の処理の方法は、ドロップダウンメニューにて選択します。 |
出力ルート名 | 出力フィールド名を変更したい場合に入力します。 |
「行に分割する」
行に分割する場合には行数の設定等は必要ありません。
設定を見るとわかりますが、行と列の大きな違いは分割数にあります。
例えば「今日はいい天気ですね。ですが、明日からは雨だそうです。」などの短文を「は」「、」「。」などで分割してみます。
列では指定した列数以上には分割されないため、文章の分割など、いくつに分割できるか不明な状況では適していません。
対して行では分割数に制限が無いため文章の分割などでも特に問題はありません。
アドバンスオプション
No | オプション | 内容 |
---|---|---|
1 | 引用府内の区切り文字を無視する | ”(ダブルクォーテーション)で囲まれた文字は分割しません。 |
2 | 一重引用符内の区切り文字を無視する | '(シングルクォーテーション)で囲まれた文字は分割しません。 |
3 | 挿入語句内の区切り文字を無視する | ()で囲まれた文字は分割しません。 |
4 | カッコ内の区切り文字を無視する | []で囲まれた文字は分割しません。 |
5 | 空白の列をスキップする | 空白の列をスキップします。 |
それぞれの挙動を見てみます。例として「ABA」を「B」で分割します。
1.「引用符内」
2.「一重引用符内」
3.「挿入語句内」
「-」ダッシュや「,」コンマも挿入語句として扱うこともありますが、本ツールでは()のみです。
4.「カッコ内」
()は挿入語句として扱う為、カッコになるのは[]のみです。
全オプションに共通ですが、2バイト文字には対応してないことが分かります。
応用編(Alteryx Tips)
列数が不定の場合の分割方法
※Alteryx Version 2018.3.5時点での情報です