Alteryxでの日時操作のすべてをご紹介します
Alteryxでの日時操作はExcelなどに比べると制限が強く、慣れるまでは思ったように日時の処理ができないことがあるかもしれません。本記事ではわかりやすくAlteryxにおける日時操作を紹介していきます。シリーズとしてStepを3段階に分けてご紹介します。
- Step1 準備(日時形式へ変換)
- Step2 日時操作
- Step3 活用(他フォーマットへの変換)
今回はStep3として日時操作した結果を各種フォーマットに変換する方法について紹介します。
過去記事はこちらをご覧ください。
どのようにして日時形式から文字列形式への変換を行うか
DateTimeツールを利用して日時形式から文字列形式に変換する場合
DateTimeツールは簡単に形式の変更が可能です。欠点は、一度に変換できるフィールドが1つだけ、ということです。また、既存フィールドの形式を変更できず、必ず新しいフィールドを作る形となります。
日時形式→文字列形式の場合
以下のようにDateTimeツールを設定します。
カスタムの場合のフォーマットは、文字列形式→日時形式のフォーマットリストと同様です。
フォーマットリスト:
フォーマット | 変換対象 | サンプル(元データ「2019-12-03 13:54:20」) |
---|---|---|
yyyy | 年(西暦4桁) | 2019 |
yy | 年(西暦2桁) | 19 |
MM | 月 | 12 |
dd | 日 | 03 |
hh | 時 | 13 |
mm | 分 | 54 |
ss | 秒 | 20 |
Month | 月名 | December |
Mon. | 月名(短縮版) | Dec |
day | 曜日 | Tuesday |
dy. | 曜日(短縮版) | Tue |
参考記事:
各種フォーミュラツールの関数を利用して日時形式から文字列形式へ変換する場合
フォーミュラツールや複数フィールドフォーミュラを使う利点は、アイコン一つで複数のフィールドに対して一度に変換ができることです。ただし、日時ツールほど懇切丁寧なインターフェースではないのが欠点でしょうか。また、文字列形式→日時形式、日時形式→文字列形式で異なる関数を使う必要があります。
日時形式→文字列形式の場合
DateTimeFormat関数を利用
日時形式から好きなフォーマットで文字列形式に変換する際は基本的にこの関数を使用します。インプットデータがどのフォーマットで記載されているか、というのを指定することで日時形式に変換することができます。
使い方:
DateTimeFormat([フィールド名],"変換先フォーマット")
※変換先フォーマットの部分は、欲しいフォーマットを指定します。例として、「2019/10/01」が欲しいのであれば、「%y/%m/%d」と記載します。「/」は区切り記号、「%y」は年、「%m」は月、「%d」は日を示しています。
変換対象 | 変換先フォーマット | サンプル(「2019-12-03 16:54:11」から変換) |
---|---|---|
年(4桁) | %Y | 2019 |
年(2桁) | %y | 19 |
月 | %m | 12 |
日 | %d | 03 |
日 | %e | 3 |
月名 | %B | December |
月名 | %b、%h | Dec |
曜日 | %A | Tuesday |
曜日 | %a | Tue |
時(24H) | %H、%k | 16 |
時(12H) | %I | 04 |
時(12H) | %l | 4 |
分 | %M | 54 |
秒 | %S | 11 |
AM/PM(小文字) | %p | pm |
AM/PM(大文字) | %P | PM |
1年の中の経過日(最初の日を含める) | %j | 337 |
1年の中の経過週(最初の週を含める) | %W | 48 |
月/日/年 | %x | 12/03/2019 |
月/日/年 | %D | 12/03/19 |
時:分:秒(24H) | %T | 16:54:11 |
時:分:秒(12H) | %X | 4:54:11 PM |
月/日/年 時:分:秒(12H) | %c | 12/3/2019 4:54:11 PM |
タイムゾーン | %Z | 東京 (標準時) |
タイムゾーン | %z | +900 |
DateTimeYear、DateTimeMonth、DateTimeDay、DateTimeHour、DateTimeMinutes、DateTimeSeconds関数を利用
日時形式から特定の部分(年、月など)を文字列形式(や数値形式)として抜き出す際は、DateTimeYear等の関数が利用可能です。ただし、実際のところDateTimeFormat関数があれば事足りるかと思います。なお、取得した数値は数値形式としても文字列形式としても使えます。
使い方:
DateTimeYear([フィールド名])
DateTimeMonth([フィールド名])
DateTimeDay([フィールド名])
DateTimeHour([フィールド名])
DateTimeMinutes([フィールド名])
DateTimeSeconds([フィールド名])
変換サンプル:
関数 | 変換後(元データは「2019-12-03 13:54:10」) |
---|---|
DateTimeYear | 2019 |
DateTimeMonth | 12 |
DateTimeDay | 3 |
DateTimeHour | 13 |
DateTimeMinutes | 54 |
DateTimeSeconds | 10 |
サンプルWFダウンロード
日付形式→文字列形式への変換サンプル fa-download
関連記事
※Alteryx Designer 2019.4.4.20206時点の情報となります