日付データを扱う時、「この日から1ヶ月後」「3日前」などを簡単に計算できると、Tableauでできることの幅が広がる。
そんなときに役立つのが DATEADD関数だ。
この記事では、図解を交えながらDATEADD関数の基本構文や実際の使い方、他の日付関数との組み合わせテクニックまで、なるべくわかりやすく解説していきたいと思う。
DATEADD関数とは?
DATEADD関数は、ある日付に「何日後」「何ヶ月後」「何年後」などを足して、新しい日付を作るための関数だ。
たとえば、「注文日から1ヶ月後の日付」や「今日から7日前の日付」を自動で計算してくれる。
つまり、日付の足し算や引き算を簡単にできる便利な関数なのだ。
下記のように分解し、翻訳してみると関数の意味が理解しやすくなる。
- DATE=年月日(日付)
- ADD=足す(加える)
ADDとなっているから「足すことしかできない?」と勘違いしがちだが、指定した日付から年数や日数を「マイナス」することもできる。
具体歴をみていこう。
下記は、サンプルスーパーストアのデータにおいて、DATEADD関数でオーダー日の1ヶ月後の日付を取得した例だ。
オーダー日の1ヶ月後の日付が、それぞれ表示されているのがおわかりいただけると思う。
このように、DATEADD関数は対象の日付データに対して任意の日数を加えたり、引いたりすることができる。
DATEADD関数の使用方法
DATEADD関数は、他の日付関数と同様に計算フィールドを作成して使用する。
指定の仕方は下図の通りだ。
具体的に先ほどの例で、オーダー日の1ヶ月後の日付を取得する場合は下図のように指定する。
上記のように指定して実際にビューに表示されたのが下図だ。
オーダー日の1ヶ月後の日付が算出されているのがお分かりいただけると思う。
DATEADD関数の利用シーン
DATEADD関数は様々な場面で利用される。
単独で使うことはそう多くないが、例えば、会計年度の開始月を変更した際の年度の調整で個人的には使ったことがある。
個人的にはDATEADD関数は単独で使うよりも、下記関数と組み合わせて使うことが多い印象だ。
- 条件によって値を出し分けるIF関数
- 日付を切り捨てるDATETRUNC関数
- 期間を算出するDATEDIFF関数
例えば、DATEDIFF関数と組み合わせて、生年月日からの年齢を算出をしたり、DATETRUNC関数と組み合わせて、
「各月の月末の日(3月31日や4月30日などを表示したい時)を取得」
などに利用される。
まとめ
今回は日付の足し算引き算をすることができるDATEADD関数を紹介した。
- DATEADD関数 は、指定した日付に対して「日・月・年」などを足したり引いたりできる関数
- 「注文日の1ヶ月後」や「今日から7日前」など、日付の足し算・引き算を簡単に計算できる
- 足す処理だけでなく、引く処理(マイナス指定) も可能なので、「1ヶ月前」なども取得できる
- IF関数・DATETRUNC関数・DATEDIFF関数 などと組み合わせることで、より柔軟な日付計算が可能
DATEADD関数によって、日付データがどのように変わるのか?を把握しておくことは、実務でTableauを扱う上で必須だ。
「あっこれはDATEADD関数使えば、表現できるんじゃないか?」
と思いつくことも多々あるので、他の日付関数(DATDIFF関数やDATETRUNC関数など)と合わせてぜひ習得してほしい。
Tableauの他の関数は下記にまとめているので、活用してみてもらえると嬉しい。