【AlteryxTips】日時操作のすべて(Step2 操作編)

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)」です。

DateTimeAddサンプル

単位に記載するのは以下のテーブルの通りです(サンプル等は日本語で記載されていたりしますが、基本的には英語で入力してください)。入力データに対して、「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)」です。

DateTimeDiffサンプル

単位に記載するのは以下のテーブルの通りです(サンプル等は日本語で記載されていたりしますが、基本的には英語で入力してください)。入力データに対しての出力サンプルも掲載します。

入力データ(比較元):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)」です。

DateTimeTrimサンプル

単位に記載するのは以下のテーブルの通りです(サンプル等は日本語で記載されていたりしますが、基本的には英語で入力してください)。入力データに対して、トリムした際のサンプルも掲載します。

入力データ: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)」です。

DateTimeToLocalサンプル

DateTimeToUTC ・・・ UTC時間に変換

入力データをUTC時間に変換します。例えば、日本であればJST(日本標準時)なので、UTC(世界標準時)は9時間前となり、入力データから9時間引いた時間が出力されます(入力データをJSTとみなして計算するようです)。

DateTimeToUTC(比較元フィールド名)

出力されるデータのデータ型は「日時型(DateTime)」です。

DateTimeToUTCサンプル

 

DateTimeNow ・・・ 現在日時を取得

現在の日時を取得します。

DateTimeNow()

出力されるデータのデータ型は「日時型(DateTime)」です。

DateTimeNowサンプル

 

DateTimeStart ・・・ 現在のワークフローの開始日時を取得

ワークフローを実行した際の開始日時を取得します。

DateTimeStart()

出力されるデータのデータ型は「日時型(DateTime)」です。

DateTimeStartサンプル

 

DateTimeStartOfMonth ・・・ 今月の月初の日を取得

現在の月の月初の日時を取得します。時間は00:00:00となります。

DateTimeStartOfMonth()

出力されるデータのデータ型は「日時型(DateTime)」です。

DateTimeStartOfMonthサンプル

 

DateTimeLastOfMonth ・・・ 今月の月末の日を取得

現在の月の月末の日時を取得します。時間は23:59:59となります。

DateTimeLastOfMonth()

出力されるデータのデータ型は「日時型(DateTime)」です。

DateTimeLastOfMonthサンプル

サンプルワークフローダウンロード

日時フォーマット操作_サンプル 

日時関連関数で利用される引数の種別

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時点の情報となります

Alteryxの導入はぜひKCMEで!

セルフサービスデータ分析ツール「Alteryx」は4週間無償トライアルが可能です。

製品に対する操作方法、技術的な質問などは導入前・導入後に関わらずメールにてお答えします。また、Alteryxを用いた環境構築、開発、ヘルプデスク対応、ハンズオン、トレーニング、ワークフロー作成なども承りますので、お気軽にご相談ください。

おすすめの記事