Some checks failed
CI / lint-and-test (pull_request) Has been cancelled
- Rename dbt project from toronto_housing to portfolio - Restructure dbt models into domain subdirectories: - shared/ for cross-domain dimensions (dim_time) - staging/toronto/, intermediate/toronto/, marts/toronto/ - Update SQLAlchemy models for raw_toronto schema - Add explicit cross-schema FK relationships for FactRentals - Namespace figure factories under figures/toronto/ - Namespace notebooks under notebooks/toronto/ - Update Makefile with domain-specific targets and env loading - Update all documentation for multi-dashboard structure This enables adding new dashboard projects (e.g., /football, /energy) without structural conflicts or naming collisions. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
46 lines
1.3 KiB
SQL
46 lines
1.3 KiB
SQL
-- Intermediate: Combined census demographics by neighbourhood
|
|
-- Joins neighbourhoods with census data for demographic analysis
|
|
-- Grain: One row per neighbourhood per census year
|
|
|
|
with neighbourhoods as (
|
|
select * from {{ ref('stg_toronto__neighbourhoods') }}
|
|
),
|
|
|
|
census as (
|
|
select * from {{ ref('stg_toronto__census') }}
|
|
),
|
|
|
|
demographics as (
|
|
select
|
|
n.neighbourhood_id,
|
|
n.neighbourhood_name,
|
|
n.geometry,
|
|
n.land_area_sqkm,
|
|
|
|
-- Use census_year from census data, or fall back to dim_neighbourhood's year
|
|
coalesce(c.census_year, n.census_year, 2021) as census_year,
|
|
c.population,
|
|
c.population_density,
|
|
c.median_household_income,
|
|
c.average_household_income,
|
|
c.median_age,
|
|
c.unemployment_rate,
|
|
c.pct_bachelors_or_higher as education_bachelors_pct,
|
|
c.average_dwelling_value,
|
|
|
|
-- Tenure mix
|
|
c.pct_owner_occupied,
|
|
c.pct_renter_occupied,
|
|
|
|
-- Income quintile (city-wide comparison)
|
|
ntile(5) over (
|
|
partition by c.census_year
|
|
order by c.median_household_income
|
|
) as income_quintile
|
|
|
|
from neighbourhoods n
|
|
left join census c on n.neighbourhood_id = c.neighbourhood_id
|
|
)
|
|
|
|
select * from demographics
|