Holidays

Hypothesis

Add US holidays to your date table with one join. Every holiday and observance from 1900 to 2099 is in a single table.

About this dataset

The table has one row for each US holiday from 1900 to 2099. Each row has the holiday’s date, name, type and start and end times, plus the rule that sets the date. Join it to your date table to mark every holiday.

  • Analysts marking holidays in a date dimension
  • Forecasting teams who use holidays as a model input
  • Data teams who don’t want to maintain their own holiday list

Table

One table, holidays, with one row per holiday.

ColumnWhat it holds
country_codeCountry, as an ISO 3166 code (US)
dateDate of the holiday
started_at, ended_atStart and end, as timestamps
holiday_nameName, such as Independence Day
holiday_typeType, such as public, optional or observance
rule_textRule that sets the date

Sample queries

Join on the date, keep the types you need and allow for days with more than one holiday.

  1. Join it to your dates

    Left join it to your date table on date. Days without a holiday stay in the result.

  2. Pick the types you need

    Filter holiday_type to public for the days most offices close, or keep observances too.

  3. Allow for shared dates

    Some dates have more than one holiday. Group by date when you need one row per day.

SQL
-- Every day, with its public holidays (Snowflake)
select d.date, listagg(h.holiday_name, ', ') as holidays
from dim_dates d
left join holidays h
on h.date = d.date and h.holiday_type = 'public'
group by d.date
order by d.date;

Pricing

One monthly plan covers the whole table. It’s billed through Snowflake Marketplace or AWS Data Exchange, on your existing Snowflake or AWS bill.

Changelog

[DATE] · First release: US holidays from 1900 to 2099.

Holidays | Zym Labs