Tableau DATEDIFF関数の使い方と具体例|日数・時間・月数の差を簡単に算出

DATEDIFF関数は、2つの日付(または日時)の差を「指定単位」で返す関数です。

「このプロジェクトは何日かかった?」「先月から何週間経った?」といった、期間の長さを数値で求めたいときに非常に便利です。

目次

DATEDIFF関数とは?

DATEDIFFは以下の3つの情報から、指定された単位で差を数値として返します:

  • 日時単位(例:”day”、”hour”)
  • 開始日(start date)
  • 終了日(end date)

基本構文

DATEDIFF("単位", 開始日, 終了日)

例:今日と明日の差

DATEDIFF("day", TODAY(), TODAY()+1) // → 結果:1
DATEDIFF("hour", TODAY(), TODAY()+1) // → 結果:24
DATEDIFF("second", TODAY(), TODAY()+1) // → 結果:86400

日付の差を指定単位で取得できるのが特徴です。

使用できる日時単位一覧

単位説明補足
year年単位の差(年の数)2023-01-01 → 2024-01-01 は 1年
quarter四半期単位の差4月開始:Q1=4〜6月, Q2=7〜9月など
month月単位の差月の切り替え回数を数える
week週単位の差週の開始日は設定可能(デフォルト日曜)
day日単位の差基本的な差分
dayofyear実際には day と同様に処理される誤用に注意
weekday曜日単位の差実務で使うケースは少ない
hour時間単位の差
minute分単位の差
second秒単位の差

実務でよくある使用例

案件の所要日数を計算する

DATEDIFF("day", [開始日], [終了日])

→ 契約日〜納品日までの日数を表示可能。

サービス利用期間(年単位)を表示

DATEDIFF("year", [登録日], TODAY())

→ ユーザーの利用年数をプロフィールなどに表示。

前回更新からの経過時間を表示(ダッシュボード用)

DATEDIFF("hour", [最終更新日時], NOW())

→ データ更新遅れをアラートとして表示。

よくある誤解・注意点

「差」は切り上げでも四捨五入でもなく、**切り捨て(整数)**です。

たとえば 6月1日〜6月30日は、DATEDIFF("month") では 0(同じ月)となります。

dayofyearday と同じ扱いになります

年初からの日数を返すわけではありません。混同に注意。

時刻が絡む場合は NOW() を、日付だけなら TODAY() を使い分けましょう。

DATEDIFF vs DATETRUNC|違いを理解する

関数名目的出力
DATEDIFF2つの日時の”差分”を返す数値(整数)
DATETRUNC指定単位で切り捨てる日付/日時型

→ 差を知りたいときは DATEDIFF、粒度を揃えたいときは DATETRUNC。

よくある質問(FAQ)

Q. 月末間のDATEDIFF(“month”)は何になりますか?
→ 2023-06-30 → 2023-07-01 は 1、2023-06-01 → 2023-06-30 は 0 になります。

Q. 経過秒数がマイナスになることは?
→ 開始日と終了日の順序に注意。DATEDIFF("second", A, B) は B が過去ならマイナスになります。

まとめ

DATEDIFF関数は、「どれくらい差があるか?」を分析するための基本関数です。日数だけでなく、年数や秒単位まで柔軟に使えるのが強み。

期間の長さを明示することで、ユーザー行動・プロセス管理・品質監視など多くのビジネス場面で活用できます。

Comment

コメントする

目次