some more changes

This commit is contained in:
2026-02-17 23:11:16 +01:00
parent f88d870db5
commit 24a505e9bf
20 changed files with 184 additions and 60 deletions

View File

@@ -0,0 +1,6 @@
version: 2
sources:
- name: funda
tables:
- name: raw_listings

View File

@@ -0,0 +1,53 @@
with source as (
select
*
from
{{ source('funda', 'raw_listings') }}
),
flattened_json as (
select
(data#>>'{globalId}')::int as listing_id,
(data#>>'{parentProject,globalId}')::int as parent_id,
(data#>>'{address,addressTitle}')::varchar as title,
(data#>>'{tracking,listing_offering_type}')::varchar as offering_type,
(data#>>'{tracking,listing_type}')::varchar as listing_type,
(data#>>'{tracking,listing_status}')::varchar as listing_status,
(data#>>'{advertising,targetingOptions,aantalkamers}')::int as rooms,
(data#>>'{featuresFastView,energyLabel}')::varchar as energy_label,
{{ extract_numeric("data#>>'{featuresFastView,livingArea}'") }} as living_area,
{{ extract_numeric("data#>>'{featuresFastView,plotArea}'") }} as plot_area,
(data#>>'{price,numericPrice}')::int as price,
(data#>>'{isSoldOrRented}')::boolean as is_sold,
(data#>>'{advertising,targetingOptions,balkon}')::boolean as has_balcony,
(data#>>'{advertising,targetingOptions,tuin}')::boolean as has_garden,
(data#>>'{advertising,targetingOptions,parkeergelegenheidopafgeslotenterrein}')::boolean as has_closed_parking,
(data#>>'{advertising,targetingOptions,parkeergelegenheidopeigenterrein}')::boolean as has_private_parking,
(data#>>'{address,country}')::varchar as country,
(data#>>'{address,province}')::varchar as province,
initcap((data#>>'{advertising,targetingOptions,gemeente}')) as municipality,
(data#>>'{address,city}')::varchar as city,
(data#>>'{address,neighborhood,name}')::varchar as neighborhood,
(data#>>'{address,postcode}')::varchar as postcode,
(data#>>'{tracking,listing_house_no}')::varchar as house_number,
(data#>>'{tracking,listing_house_no_addition}')::varchar as house_number_addition,
(data#>>'{coordinates,lng}')::float as longitude,
(data#>>'{coordinates,lat}')::float as latitude,
(data#>>'{googleMapsObjectUrl}')::varchar as google_maps_url,
(data#>>'{canonicalUrl}')::varchar as listing_url
from
source
)
select
*
from
flattened_json