
Alteryxでの日時操作のすべてをご紹介します
Alteryxでの日時操作はExcelなどに比べると制限が強く、慣れるまでは思ったように日時の処理ができないことがあるかもしれません。
実際のデータで日時操作を行った際、上手くいかない原因に、データに入っている日時のフォーマットがバラバラであることが挙げられます。
本記事では Step3 まででやってきた事の応用として、データに複数の日時フォーマットが入ってしまっている場合、フォーマットを統一して日付け型に変換する方法について紹介します。
- Step1 準備(日時形式へ変換)
- Step2 日時操作
- Step3 活用(他フォーマットへの変換)
- Step4 応用(複数のフォーマットからの変換)
複数フォーマットの文字列から日付型への変換
下図の例で見てきます。
文字列型「Date」列に、複数のフォーマットで日付が入力されています。(上から「YYYYMMDD」、「YYYY-MM-DD」、「DD.MM.YYYY」、「MM/DD/YYYY」のフォーマットになっています。)
これらの日付を、「YYYY-MM-DD」の日付型に統一していきます。
実際にワークフローを組んでみる
実際に、日付フォーマットをそろえるフローを組んでみます。
手順としては、一度「Date」列の書式フォーマットを「YYYYMMDD」の書式に揃えてから、日付ツールで日付型に変換していきます。
下のようなフローになります。
ツールごとにどんな設定になっているか、順に追って見ていきます。
まずは前半部分を説明します。
最初に、フォーミュラツールで Replace関数やREGEX_Replace関数を使って、「Date」列の日付フォーマットを YYYYMMDD の形に統一します。
※使っている関数についてはこちらの記事を参照。下の IF文では、文字列に「-」「/」「.」が含まれる場合は、 Replace関数で削除したり、REGEX_Replace関数で文字の並びを変えています。($ で、関数内の()部分でマークした文字列グループの並び順を指定しています。)
(データに含まれる日付フォーマットの種類が増えた場合は、このフォーミュラツールの IF 文を変更して、フォーマットを YYYYMMDD の形に統一します。)
次に、日時ツールで「Date」列の日付フォーマットを変換します。
「文字列を日付 / 時刻形式に変換する 」項目を選択し、「入力された文字フィールドに一致する形式を選択」から「
このように、事前にフォーミュラツール等で書式フォーマットを統一することにより、書式が異なる文字列も日付ツールで日付型に変換することができます。
サンプルワークフロー ダウンロード
Date_4_SampleWFfa-download
※Alteryx Designer 2019.1.6.58192時点の情報です