Tableauで「日付を1日進めたい」「月末を計算したい」「昨日の日付を出したい」——
そんな時に役立つのが DATEADD 関数です。
この記事では、TableauでのDATEADD関数の正しい使い方と、よくあるエラーの原因、実務での活用例までを徹底的に解説します。
目次
DATEADD関数とは?
DATEADD は、特定の“日付単位”で指定した数値分だけ、日付を加算または減算する関数です。
たとえば:
- 今日+1日 → 明日
 - 今日−1日 → 昨日
 - 1か月前の日付
 - 翌週の月曜日
 
こうした処理をTableauで柔軟に行えます。
DATEADDの構文と基本の使い方
構文は以下のとおりです:
DATEADD("単位", 数値, [日付フィールド])
使用例
DATEADD("day", 1, TODAY())
→ 今日に1日加えて「明日」の日付を返します。
DATEADD("day", -1, TODAY())
→ 今日から1日引いて「昨日」の日付を返します。
POINT: 引き算は「マイナスの値を足す」ことで実現します。
DATEADDで使える日付単位(DATE_PART)一覧
| DATE_PART 値 | 意味 | 
|---|---|
| “year” | 年(例:2023) | 
| “quarter” | 四半期(例:第1四半期) | 
| “month” | 月(例:5月) | 
| “day” | 日(1日、2日…) | 
| “dayofyear” | 1月1日から何日目か | 
| “weekday” | 曜日(1〜7) | 
| “week” | 週単位(1〜52) | 
| “hour” | 時間(0〜23) | 
| “minute” | 分(0〜59) | 
| “second” | 秒(0〜59) | 
※ Tableauでは DATEADD("date", ...) のような曖昧な指定はNG。必ず上記の正規キーワードを使いましょう。
よくあるエラー:「DATEADDが使えない」とは?
エラー例1:”Invalid date part”
→ 日付単位(”day”など)が間違っている。
エラー例2:NULL値との演算
→ 第3引数([日付フィールド])がNULLだと失敗します。IFNULLやZNで補完を。
エラー例3:データ型不一致
→ 第3引数が文字列(string型)だと失敗します。必ず日付型フィールドを使いましょう。
DATEADDの実用ユースケース
ユースケース:明日・昨日の日付を表示
DATEADD("day", 1, TODAY())
ユースケース:前月1日を計算
DATEADD("month", -1, DATETRUNC("month", TODAY()))
ユースケース:来週の月曜日を取得
DATEADD("week", 1, DATETRUNC("week", TODAY()))
ユースケース:今月末を算出
DATEADD("day", -1, DATETRUNC("month", DATEADD("month", 1, TODAY())))
ユースケース:レコードのフィルター(30日以内)
[登録日] >= DATEADD("day", -30, TODAY())
DATEDIFFやDATENAMEとの違い
| 関数 | 目的 | 使用例 | 
|---|---|---|
| DATEADD | 日付を加算・減算する | 明日・先月を出す | 
| DATEDIFF | 日付の差を数値で返す | 今日から何日後か | 
| DATENAME | 指定した単位の“名前”を返す | 曜日や月名を取得 | 
使い分けのポイント:
- 日付を操作したい → 
DATEADD - 差を数値で出したい → 
DATEDIFF - ラベル用途で曜日などが必要 → 
DATENAME 
まとめ:DATEADD関数を使いこなす鍵は「日付単位」と「型の一致」
DATEADD関数は非常に汎用性が高く、日付の加算・減算・比較・フィルターのすべてで活躍します。
失敗の多くは:
- 単位指定の綴りミス(”day” → “days” はNG)
 - 第3引数がNULLやstring型
 
上記を避ければ、Tableauにおける時間操作は自在になります。
今後、DATEDIFF・DATETRUNC・DATENAMEとの組み合わせや、可変期間フィルターへの応用も視野に入れるとさらに強力です。

	
Comment