dbt-date
Tested version: 0.17.2 | Integration tested: Yes
dbt-date provides date/time utility macros for generating date dimensions, extracting date parts, and performing fiscal calendar calculations.
Dispatch configuration
dispatch :
- macro_namespace : dbt_date
search_order : [ 'your_project_name' , 'dbt' , 'dbt_date' ]
Macro compatibility
Legend: ✅ = supported on Fabric, ❌ = not supported on Fabric
Macros marked with (override) have a T-SQL-compatible override in this adapter. All other supported macros work without any adapter-specific override.
Date dimension generators
Macro
Status
Notes
get_base_dates
✅
get_date_dimension
✅ (override)
Inlined without nested CTEs (Fabric disallows nested CTEs in CREATE VIEW)
Current date/time
Macro
Status
Notes
now
✅
today
✅
yesterday
✅
tomorrow
✅
Relative date navigation
Macro
Status
Notes
n_days_ago
✅
n_days_away
✅
n_weeks_ago
✅
n_weeks_away
✅
n_months_ago
✅
n_months_away
✅
last_week
✅
next_week
✅
last_month
✅
next_month
✅
Macro
Status
Notes
date_part
✅ (override)
Uses T-SQL DATEPART(...) instead of EXTRACT(... FROM ...)
day_of_week
✅ (override)
Uses T-SQL DATEPART(weekday, ...) with DATEFIRST awareness
day_of_month
✅
day_of_year
✅
day_name
✅ (override)
Uses T-SQL FORMAT(date, 'ddd')/FORMAT(date, 'dddd')
month_name
✅ (override)
Uses T-SQL FORMAT(date, 'MMM')/FORMAT(date, 'MMMM')
last_month_name
✅
last_month_number
✅
next_month_name
✅
next_month_number
✅
Week calculations
Macro
Status
Notes
week_start
✅ (override)
Uses T-SQL DATEADD/DATEDIFF pattern for week boundary calculation
week_end
✅ (override)
Derived from week_start using T-SQL date arithmetic
week_of_year
✅ (override)
Uses T-SQL DATEPART(week, ...)
iso_week_start
✅ (override)
Uses T-SQL DATEADD/DATEDIFF pattern for ISO week boundaries
iso_week_end
✅
iso_week_of_year
✅ (override)
Uses T-SQL DATEPART(iso_week, ...)
iso_year_week
✅ (override)
Combines ISO year and week number using T-SQL functions
Timezone and Unix timestamp
Macro
Status
Notes
convert_timezone
✅ (override)
Uses T-SQL AT TIME ZONE syntax
from_unixtimestamp
✅ (override)
Uses T-SQL DATEADD(second, ...) from epoch
to_unixtimestamp
✅ (override)
Uses T-SQL DATEDIFF(s, '1970-01-01', ...)
Other
Macro
Status
Notes
periods_since
✅
round_timestamp
✅
Fiscal calendar
Macro
Status
Notes
get_fiscal_periods
✅ (override)
Inlined without nested CTEs; T-SQL date arithmetic and % operator
get_fiscal_year_dates
✅ (override)
T-SQL positional GROUP BY and ORDER BY replaced with explicit columns
Jinja utilities
Macro
Status
Notes
date
✅ (override)
Uses Jinja's modules.datetime.date() for date construction
datetime
✅
Timezone limitation
Note
The dbt_date:time_zone variable must be set to UTC for full compatibility. Other timezones require that the name is valid in both Python's pytz (IANA format like Europe/Brussels) and T-SQL's AT TIME ZONE (Windows format like Romance Standard Time). Only UTC is valid in both systems.