From 7e9248aa6eac98986eed9ec03707dfbe6872c964 Mon Sep 17 00:00:00 2001 From: Pablo Martin Date: Fri, 11 Oct 2024 17:08:59 +0200 Subject: [PATCH] added properties --- models/staging/hubspot/stg_hubspot__deals.sql | 60 ++++++++++++++++++- 1 file changed, 58 insertions(+), 2 deletions(-) diff --git a/models/staging/hubspot/stg_hubspot__deals.sql b/models/staging/hubspot/stg_hubspot__deals.sql index 8749383..acfa79d 100644 --- a/models/staging/hubspot/stg_hubspot__deals.sql +++ b/models/staging/hubspot/stg_hubspot__deals.sql @@ -1,12 +1,68 @@ with raw_deals as (select * from {{ source("hubspot", "deals") }}), - stg_core__deals as ( + stg_hubspot__deals as ( select {{ adapter.quote("id") }} as id_deal, {{ adapter.quote("archived") }} as archived, {{ adapter.quote("contacts") }} as contacts, {{ adapter.quote("companies") }} as companies, {{ adapter.quote("line_items") }} as line_items, + {{ adapter.quote("properties") }} + ->> 'hubspot_owner_id' as id_hubspot_account_owner, + {{ adapter.quote("properties") }}->> 'dedicated_am' as account_manager, + {{ adapter.quote("properties") }} + ->> 'contract_signed_date' as contract_signed_date_utc, + {{ adapter.quote("properties") }}->> 'live_date' as live_date_utc, + {{ adapter.quote("properties") }} + ->> 'cancellation_date' as cancellation_date_utc, + {{ adapter.quote("properties") }}->> 'dealname' as deal_name, + {{ adapter.quote("properties") }}->> 'sales_stage' as sales_stage, + {{ adapter.quote("properties") }}->> 'dealstage' as deal_stage, + {{ adapter.quote("properties") }}->> 'deal_source' as deal_source, + {{ adapter.quote("properties") }} ->> 'lead_source' as lead_source, + round( + ({{ adapter.quote("properties") }} ->> 'amount_of_properties')::numeric, + 0 + )::integer -- Yes, somehow we managed to input decimals here sometimes + as amount_of_properties, + {{ adapter.quote("properties") }}->> 'demo_scheduled' as is_demo_scheduled, + {{ adapter.quote("properties") }} + ->> 'sales_demo_scheduled' as demo_scheduled_date_utc, + {{ adapter.quote("properties") }}->> 'demo_completed' as is_demo_completed, + {{ adapter.quote("properties") }} + ->> 'meeting_status__hubspot_' as demo_details, + {{ adapter.quote("properties") }}->> 'date_meeting' as onboarding_date_utc, + {{ adapter.quote("properties") }}->> 'onboarding_stage' as onboarding_stage, + {{ adapter.quote("properties") }}->> 'onboarding_owner' as onboarding_owner, + {{ adapter.quote("properties") }} + ->> 'onboarding_owner__cloned_' as onboarding_owner__cloned_, + {{ adapter.quote("properties") }} + ->> 'onboarding_call_completed' as is_onboarding_call_completed, + {{ adapter.quote("properties") }} + ->> 'meeting_scheduled' as is_onboarding_scheduled, + {{ adapter.quote("properties") }} + ->> 'cancellation_category' as cancellation_category, + {{ adapter.quote("properties") }} + ->> 'cancellation_details' as cancellation_details, + {{ adapter.quote("properties") }} + ->> 'last_nps_survey_date' as last_nps_survey_date_utc, + ({{ adapter.quote("properties") }} ->> 'last_nps_survey_rating')::integer + as last_nps_survey_rating, + {{ adapter.quote("properties") }} + ->> 'last_nps_survey_comment' as last_nps_survey_comment, + {{ adapter.quote("properties") }} + ->> 'customer_nps_sentiment' as customer_nps_sentiment, + {{ adapter.quote("properties") }} + ->> 'notes_last_contacted' as last_contacted_at_utc, + cast( + {{ adapter.quote("properties") }} ->> 'notes_last_contacted' as date + ) as last_contacted_date_utc, + ({{ adapter.quote("properties") }} ->> 'num_contacted_notes')::integer + as amount_times_contacted, + {{ adapter.quote("properties") }} + ->> 'free_trial_start_date' as free_trial_start_date_utc, + {{ adapter.quote("properties") }} + ->> 'free_trial_end_date' as free_trial_end_date_utc, {{ adapter.quote("properties") }} as properties, {{ adapter.quote("createdAt") }} as created_at_utc, cast({{ adapter.quote("createdAt") }} as date) as created_date_utc, @@ -17,4 +73,4 @@ with from raw_deals ) select * -from stg_core__deals +from stg_hubspot__deals