- Staging models:
stg_trips.sql,stg_zones.sql(+ their_*.ymltests/descriptions) - Mart:
fct_daily_borough_stats.sqlat grain one row per (pickup_borough, pickup_date) - Macro:
safe_divide.sql - Singular test:
assert_avg_tip_pct_within_bounds.sql dbt_utilsdeclared inpackages.yml- Lineage screenshot:
docs/lineage.png - Business answers:
reports/answers.md - AI usage:
AI_ASSIST.md
- Models: read
models/marts/fct_daily_borough_stats.sql(grain + measures) and the staging models. - Lineage:
docs/lineage.png. - Answers:
reports/answers.md. - AI usage:
AI_ASSIST.md.
From a clean clone, with your own Postgres access:
cp profiles.yml.example profiles.yml # set schema to dev_<your_name>
cp .env.example .env # fill PG_HOST, PG_USER, PG_PASSWORD
source .env
dbt deps
dbt build # runs models + testsdbt debug must end with All checks passed! first.
Data dependency: this builds into your own
dev_<name>schema on the shared Postgres. A reviewer without that access relies ondocs/lineage.pngandreports/answers.mdas the canonical evidence.
Fill in what your build actually produces:
dbt buildresult: <e.g. PASS=NN WARN=1 ERROR=0>fct_daily_borough_statsrow count: <e.g. ~180>- Grain: one row per (pickup_borough, pickup_date)
- One business answer sample: <e.g. Manhattan has the most trips>
- <e.g. the singular test WARNs rather than errors by design; incremental not implemented>
- Write "none" if everything in the assignment is done and working.
-
bash .hyf/test.shpasses -
dbt buildcompletes with no ERROR -
fct_daily_borough_statsexists as a table at the stated grain - No credentials committed (
profiles.yml/.envare gitignored) -
docs/lineage.pngis committed