diff --git a/transform/sqlmesh_padelnomics/models/foundation/dim_cities.sql b/transform/sqlmesh_padelnomics/models/foundation/dim_cities.sql index ff46204..b6e35f8 100644 --- a/transform/sqlmesh_padelnomics/models/foundation/dim_cities.sql +++ b/transform/sqlmesh_padelnomics/models/foundation/dim_cities.sql @@ -55,6 +55,56 @@ SELECT LOWER(REGEXP_REPLACE( COALESCE(vc.city, ec.city_slug_raw), '[^a-z0-9]+', '-' )) AS city_slug, + -- Human-readable country name for pSEO templates and internal linking + CASE ec.country_code + WHEN 'DE' THEN 'Germany' + WHEN 'ES' THEN 'Spain' + WHEN 'GB' THEN 'United Kingdom' + WHEN 'FR' THEN 'France' + WHEN 'IT' THEN 'Italy' + WHEN 'PT' THEN 'Portugal' + WHEN 'AT' THEN 'Austria' + WHEN 'CH' THEN 'Switzerland' + WHEN 'NL' THEN 'Netherlands' + WHEN 'BE' THEN 'Belgium' + WHEN 'SE' THEN 'Sweden' + WHEN 'NO' THEN 'Norway' + WHEN 'DK' THEN 'Denmark' + WHEN 'FI' THEN 'Finland' + WHEN 'US' THEN 'United States' + WHEN 'AR' THEN 'Argentina' + WHEN 'MX' THEN 'Mexico' + WHEN 'AE' THEN 'UAE' + WHEN 'AU' THEN 'Australia' + WHEN 'IE' THEN 'Ireland' + ELSE ec.country_code + END AS country_name_en, + -- URL-safe country slug derived from country_name_en + LOWER(REGEXP_REPLACE( + CASE ec.country_code + WHEN 'DE' THEN 'Germany' + WHEN 'ES' THEN 'Spain' + WHEN 'GB' THEN 'United Kingdom' + WHEN 'FR' THEN 'France' + WHEN 'IT' THEN 'Italy' + WHEN 'PT' THEN 'Portugal' + WHEN 'AT' THEN 'Austria' + WHEN 'CH' THEN 'Switzerland' + WHEN 'NL' THEN 'Netherlands' + WHEN 'BE' THEN 'Belgium' + WHEN 'SE' THEN 'Sweden' + WHEN 'NO' THEN 'Norway' + WHEN 'DK' THEN 'Denmark' + WHEN 'FI' THEN 'Finland' + WHEN 'US' THEN 'United States' + WHEN 'AR' THEN 'Argentina' + WHEN 'MX' THEN 'Mexico' + WHEN 'AE' THEN 'UAE' + WHEN 'AU' THEN 'Australia' + WHEN 'IE' THEN 'Ireland' + ELSE ec.country_code + END, '[^a-zA-Z0-9]+', '-' + )) AS country_slug, COALESCE(vc.centroid_lat, 0::DOUBLE) AS lat, COALESCE(vc.centroid_lon, 0::DOUBLE) AS lon, ec.population, diff --git a/transform/sqlmesh_padelnomics/models/serving/city_market_profile.sql b/transform/sqlmesh_padelnomics/models/serving/city_market_profile.sql index ef0a740..fde68cd 100644 --- a/transform/sqlmesh_padelnomics/models/serving/city_market_profile.sql +++ b/transform/sqlmesh_padelnomics/models/serving/city_market_profile.sql @@ -17,6 +17,8 @@ WITH base AS ( SELECT c.city_code, c.country_code, + c.country_name_en, + c.country_slug, c.city_name, c.city_slug, c.lat, @@ -55,6 +57,8 @@ scored AS ( SELECT s.city_code, s.country_code, + s.country_name_en, + s.country_slug, s.city_name, s.city_slug, s.lat,