Alteryxでの日時操作のすべてをご紹介します
Alteryxでの日時操作はExcelなどに比べると制限が強く、慣れるまでは思ったように日時の処理ができないことがあるかもしれません。本記事ではわかりやすくAlteryxにおける日時操作を紹介していきます。シリーズとしてStepを3段階に分けてご紹介します。
- Step1 準備(日時形式へ変換)
- Step2 日時操作
- Step3 活用(他フォーマットへの変換)
今回はStep2として実際の日時操作について紹介します。
Step3はこちらをご覧ください。
再確認
Alteryxで日時操作をする際は、扱うデータが日時形式である必要があります。扱うデータが日時形式ではないよ、という場合はまずこちらをご覧いただき、日時形式に変換してください。
フォーミュラの日時操作関数について
実際に日時操作を行う場合は、各種フォーミュラツールの関数を使います。
カテゴリ | やりたいこと | 関数名 | 戻り値の型 | 概要 |
---|---|---|---|---|
計算 | 日時の加減 | DateTimeAdd | 日時型 | 単位を指定して日時を加減します |
計算 | 日時の差分を計算 | DateTimeDiff | 数値型 | 2つの日時の差分を計算します |
変換 | 指定した単位でトリムする | DateTimeTrim | 日時型 | 指定した単位以下を切り捨てます。例えば、2019-10-13を月でトリムすると2019-10-01になります。 |
変換 | ロケールタイムに変換 | DateTimeToLocal | 日時型 | ロケールタイムに変換します。日本であれば、9時間プラスされます。 |
変換 | UTCタイムに変換 | DateTimeToUTC | 日時型 | UTCタイムに変換します。日本であれば、9時間マイナスされます。 |
取得 | 現在日時を取得 | DateTimeNow | 日時型 | 現在の日時を取得します。 |
取得 | 現在のワークフローの開始日時を取得 | DateTimeStart | 日時型 | ワークフローが開始された時間を取得します。 |
取得 | 今月の月初の日を取得 | DateTimeFirstOfMonth | 日時型 | 現在の月の月初の日を取得します。 |
取得 | 今月の月末の日を取得 | DateTimeLastOfMonth | 日時型 | 現在の月の月末の日を取得します。 |
※日付型⇔文字列型の変換関数については別記事にて紹介します。そちらをご参照ください(対象関数:DateTimeParse、DateTimeFormat、ToDate、ToDateTime、DateTimeYear、DateTimeMonth、DateTimeDay、DateTimeHour、DateTimeMinutes、DateTimeSeconds)
各関数の使い方とサンプル
DateTimeAdd ・・・ 日時の加減
入力データに対して、指定した単位で数値を加えます。単位は、「Year(年)」「Seconds(秒)」などで、加える数値は整数値を指定します。プラスする場合は正の整数、マイナスする場合は負の整数を指定してください。
DateTimeAdd(フィールド名,加減の数,"単位")
出力されるデータのデータ型は「日時型(DateTime)」です。
単位に記載するのは以下のテーブルの通りです(サンプル等は日本語で記載されていたりしますが、基本的には英語で入力してください)。入力データに対して、「1」をプラスした際のサンプルも掲載します。
入力データ:2019-12-03 13:54:20 加減の数:1
加減する値の単位 | 関数に入力する「単位」 | 結果サンプル |
---|---|---|
年 | Year | 2020-12-03 13:54:20 |
月 | Month | 2020-01-03 13:54:20 |
日 | Day | 2019-12-04 13:54:20 |
時 | Hour | 2019-12-03 14:54:20 |
分 | Minutes | 2019-12-03 13:55:20 |
秒 | Seconds | 2019-12-03 13:54:21 |
DateTimeDiff ・・・ 日時の差分を計算
2つの日時型のデータを比較し、指定した単位で差分を計算します。単位は、「Year(年)」「Seconds(秒)」などです。[比較元フィールド名]-[比較先フィールド名]で計算されます。
DateTimeDiff(比較元フィールド名,比較先フィールド名,"単位")
出力されるデータのデータ型は「数値型(Int16/32/64)」です。
単位に記載するのは以下のテーブルの通りです(サンプル等は日本語で記載されていたりしますが、基本的には英語で入力してください)。入力データに対しての出力サンプルも掲載します。
入力データ(比較元):2019-12-03 13:54:20 入力データ(比較先):1994-12-03 12:00:00
出力する値の単位 | 関数に入力する「単位」 | 結果サンプル |
---|---|---|
年 | Year | 25 |
月 | Month | 300 |
日 | Day | 9131 |
時 | Hour | 219145 |
分 | Minutes | 13148754 |
秒 | Seconds | 788925260 |
DateTimeTrim ・・・ 指定した単位でトリムする
入力データに対して、指定した単位でトリムします。単位は、「Year(年)」「Minutes(分)」などです。そもそもトリムと聞いてもイメージがわかないと思います。これは、指定した単位より小さい単位の部分は一番小さい値にする、という処理を行います。
例として、「2019-12-03 13:54:20」を「Days(日)」でトリムすると、「日」より小さい「時間」以下の単位は一番小さい値になるため「00:00:00」となり、最終的には「2019-12-03 00:00:00」が出力されます。
DateTimeTrim(フィールド名,"単位")
出力されるデータのデータ型は「日時型(DateTime)」です。
単位に記載するのは以下のテーブルの通りです(サンプル等は日本語で記載されていたりしますが、基本的には英語で入力してください)。入力データに対して、トリムした際のサンプルも掲載します。
入力データ:2019-12-03 13:54:20
トリムする単位 | 関数に入力する「単位」 | 結果サンプル |
---|---|---|
年 | Year | 2019-01-01 00:00:00 |
月 | Month | 2019-12-01 00:00:00 |
日 | Day | 2019-12-03 00:00:00 |
時 | Hour | 2019-12-03 13:00:00 |
分 | Minutes | 2019-12-03 13:54:00 |
DateTimeToLocal ・・・ ロケールタイムに変換
入力データをロケールタイムに変換します。例えば、日本であればJST(日本標準時)なので、UTC(世界標準時)から9時間後となり、入力データに9時間足した時間が出力されます(入力データをUTCとみなして計算するようです)。
DateTimeToLocal(比較元フィールド名)
出力されるデータのデータ型は「日時型(DateTime)」です。
DateTimeToUTC ・・・ UTC時間に変換
入力データをUTC時間に変換します。例えば、日本であればJST(日本標準時)なので、UTC(世界標準時)は9時間前となり、入力データから9時間引いた時間が出力されます(入力データをJSTとみなして計算するようです)。
DateTimeToUTC(比較元フィールド名)
出力されるデータのデータ型は「日時型(DateTime)」です。
DateTimeNow ・・・ 現在日時を取得
現在の日時を取得します。
DateTimeNow()
出力されるデータのデータ型は「日時型(DateTime)」です。
DateTimeStart ・・・ 現在のワークフローの開始日時を取得
ワークフローを実行した際の開始日時を取得します。
DateTimeStart()
出力されるデータのデータ型は「日時型(DateTime)」です。
DateTimeStartOfMonth ・・・ 今月の月初の日を取得
現在の月の月初の日時を取得します。時間は00:00:00となります。
DateTimeStartOfMonth()
出力されるデータのデータ型は「日時型(DateTime)」です。
DateTimeLastOfMonth ・・・ 今月の月末の日を取得
現在の月の月末の日時を取得します。時間は23:59:59となります。
DateTimeLastOfMonth()
出力されるデータのデータ型は「日時型(DateTime)」です。
サンプルワークフローダウンロード
日時フォーマット操作_サンプル fa-download
日時関連関数で利用される引数の種別
Alteryx内で関数の引数がdtやらiやらuやら記載されていますが、説明が見当たらずわかりにくいと思います。
今回は日時関連関数で利用される引数の種別を以下の表のとおり記載したいと思います。
Alteryx内表記 | 意味 | 詳細内容 | サンプル |
---|---|---|---|
dt | 日時型データ(DateTime) | フィールドタイプが日時型データのフィールドもしくは固定値を指定します。 | "2019-09-01 20:15:16"、
"2019-08-15" |
f | フォーマット(Format) | 形式文字列を指定します。例えば、「%Y」であれば「2019」など4桁の年の数値となります。 | %h、%Y |
i | 数値(Integer) | 加算、減算するための数値を入力します。整数型で指定します(マイナスの値も指定可能)。 | 1、-1 |
u | 単位(Unit) | 加算、減算する際の単位を指定します。ヘルプでは日本語表記されていることがありますが、日本語は使えません(英語で指定する必要があります)。 | "days"、"minutes" |
t | トリムタイプ(Trim type) | トリムの種類を指定します。日時型を丸め込む際の単位です。 | "firstofmonth"、"days" |
関連記事
Excelのシリアル値からの変換:
シリーズ日時操作のすべて:Step1 準備編
※Alteryx Designer 2019.4.4.20206時点の情報となります