- Home
- Courses
- dbt Fundamentals
- Advanced dbt
Micro Free Course — 100% Free Learning
All lessons in this module are free to learn. Sign in with Google to save your progress.
Advanced dbt
Macros and Jinja, snapshots (dbt's Type 2 SCDs), the package ecosystem (dbt_utils and friends), and production concerns — CI/CD, environments, scheduling.
Module Content
Macros and Jinja
Reusable SQL via Jinja templating. The DRY principle for SQL. FIND_VIDEO: search 'dbt macros jinja tutorial' — recommended channel: dbt Labs. Aim for 10 min or under.
QUIZ: Writing and Using Macros
Practice quiz: When to write a macro, Jinja syntax to know, and patterns every dbt project uses.
Snapshots — dbt's SCD Type 2
dbt's built-in tool for tracking dimension changes over time. FIND_VIDEO: search 'dbt snapshots SCD type 2' — recommended channel: dbt Labs. Aim for 11 min or under.
QUIZ: Snapshot Strategies and Configs
Practice quiz: The snapshot block, two strategies (timestamp and check), and production conventions.
Packages — dbt_utils and the Ecosystem
Don't reinvent — install dbt_utils and 80% of common macros are there. FIND_VIDEO: search 'dbt packages dbt_utils tutorial' — recommended channel: dbt Labs. Aim for 9 min or under.
QUIZ: Useful Packages and What They Solve
Practice quiz: The packages every dbt project should install.
Production dbt — CI/CD, Environments, Scheduling
From local dev to production: environments, scheduled runs, CI checks, alerts. FIND_VIDEO: search 'dbt production CI/CD GitHub Actions' — recommended channel: dbt Labs. Aim for 11 min or under.
QUIZ: Running dbt in Production
Practice quiz: Three environments, CI on PRs, scheduled runs, failure alerts, slim CI with --defer.
SUBMISSION: Project 4 — Build a Slowly Changing Dimension (SCD Type 2) Customer Snapshot
Configure a dbt snapshot using the check or timestamp strategy to capture historical attribute changes on customer tiers and addresses over time.