Tableau

【Tableau】DATEDIFFを使用する時の注意点

DATEDIFF関数は、開始日と終了日の2つの日時の差を計算する日付関数です。
暦の単位は年、四半期、月、日付等で設定できます。

このDATEDIFF関数で注意すべきなのは、開始日と終了日が設定した暦の単位で事前に集計されてしまう点です。開始日を2022/11/1とし、終了日を2022/12/1と2023/1/1で計算した場合以下の計算結果になります。2022/11/1から2023/1/1では2ヶ月しかたっていないのに1年経過したという結果になっていますね。

DATEDIFF('year',#2022-11-01#,#2022-12-01#)=0
DATEDIFF('year',#2022-11-01#,#2023-01-01#)=1

Tableauでの内部の計算を式で表すと以下のようになります。
開始日と終了日がDATETRUNC関数によって事前集計されているのです。

DATEDIFF('year',#2022-11-01#,#2023-01-01#)
↓
DATEDIFF('year',DATETRUNC('year',#2022-11-01#),DATETRUNC('year',#2023-01-01#))
↓
DATEDIFF('year',#2022-01-01#,#2023-01-01)

TableauでのDATEDIFF関数の仕様は本文で説明した定義ですが、同様の関数でも使用するツールによって定義は変わります。新しいツールに触れる時は関数の定義をチェックするように気を付けましょう。

O.J
Tableau を用いたダッシュボードの作成を主に業務で行っています。