
今回は日付関数の1つで期間を算出することが出来るDATEDIFFについて解説する。
Tableau初心者の時、私はこの関数がよくわからなかった。
理解してしまえば簡単なのだが、すごくとっつきにくい感じがしていてずっと避けていたのだ(笑)
DATEDIFF関数とは?
DATEDIFF関数は2つの指定した日付の差(時間差や月数差など指定方法によって色々な種類)=期間を算出することができる関数だ。
DIFFがわかりにくいと思うが、「difference(ディファレンス)」を省略した表現だ。
DATEDIFFを「DATE」と「DIFF」に分解すると
- DATE=日付
- DIFF=差分
つまり、DATEDIFF=日付の差分(指定したある日付と他の日付の差)を算出する関数ということだ。
例えば、ネットでオーダーを受けた日と実際にお客さんに向けて出荷した日の差分=「注文を受けてからどれくらいの日数で出荷できているか?」を把握したい時などにDATEDIFF関数は便利だ。
下記はサンプルスーパーストアのデータにおいて、DATEDIFF関数でオーダー日と出荷日の日数差を各出荷モードごとに棒グラフで表示した例だ。
各出荷モードに応じてオーダーを受けてから出荷するまでの日数差が大きく違っていることがお分かりいただけると思う。
このようにDATEDIFF関数は2つの日付の差=期間を把握したい時に活用される。
DATEDIFF関数の使用方法
DATEDIFF関数は計算フィールドを作成して使用する。
指定の仕方は下図の通りだ。
具体的に先ほどのオーダー日と出荷日の日数差を算出する例の場合は下図のように指定する。オプションの[start_of_week]は慣れてから必要に応じて使えばいいと思う。
上記例では'day'で日数差を算出する指定をしているが、指定方法を下記に変更すれば様々な期間差を算出することが出来る。
- second:秒差
- minute:分差
- hour:時間差
- week:週差
- month:月差
- year:年差
例えば、
- オーダー日が2021年9月10日
- 出荷日が2021年9月15日
だった場合は下記のような感じで計算される。
2つ目の日付フィールドで指定された日付から1つ目の日付フィールドの日付を引くので、基本的に日付が浅い方(オーダー日と出荷日ならまずオーダーが先だからオーダー日となる)を1つ目の日付フィールドに指定するといいと思う。
もちろん日数差をマイナスで表示したい場合も時にはあると思うので、その時に行う分析目的に合う形で指定していってほしい。
DATEDIFF関数の使用シーン
DATEDIFF関数は下記のようなシーンでよく使う。日付を足し引きすることができるDATEADD関数と組み合わせて使うこともある。
- 注文日から納品日までの日数差を出したい時
- 生年月日から年齢を出したい時
- 入会月と退会月から在籍期間を算出したい時
などなど日数差、期間を出したい時などにDATEDIFF関数は非常に便利なので、ぜひ習得してみてほしい。
まとめ
今回はDATEDIFF関数について解説してみた。
日付関数は何種類もあるので混乱しがちだが、まとめて全部覚えようとするよりは1つずつ集中的に勉強してTableau上での使い方に慣れていくのが個人的にはおすすめだ。
他の日付関数や日付データを調整する記事は下記で紹介しているので是非参考にしてほしい。