data-dwh-dbt-project/models/intermediate/hubspot/int_hubspot__deal.sql
Oriol Roqué Paniagua 43a20a3c22 Merged PR 5238: Brings additional sales info from hubspot
# Description

Brings additional info from Hubspot Deals regarding onboarding process

# Checklist

- [X] The edited models and dependants run properly with production data.
- [X] The edited models are sufficiently documented.
- [X] The edited models contain PK tests, and I've ran and passed them.
- [ ] I have checked for DRY opportunities with other models and docs.
- [ ] I've picked the right materialization for the affected models.

# Other

- [ ] Check if a full-refresh is required after this PR is merged.

Related work items: #30249
2025-05-16 11:08:17 +00:00

55 lines
1.8 KiB
SQL

{% set id_deal_pipelines_excluded = "('15380854')" %}
{% set generic_account_manager_names = "('Host Services')" %}
with
stg_hubspot__deals as (select * from {{ ref("stg_hubspot__deals") }}),
stg_seed__hubspot_account_owner as (
select * from {{ ref("stg_seed__hubspot_account_owner") }}
),
stg_hubspot__deal_pipeline_stages as (
select * from {{ ref("stg_hubspot__deal_pipeline_stages") }}
),
stg_hubspot__deal_pipelines as (
select * from {{ ref("stg_hubspot__deal_pipelines") }}
)
select
d.id_deal,
d.deal_name,
d.contract_signed_date_utc,
d.onboarding_date_utc,
d.live_date_utc,
d.cancellation_date_utc,
d.account_manager,
case
when d.onboarding_owner is not null
then onboarding_owner
when
d.onboarding_owner is null
and d.account_manager in {{ generic_account_manager_names }}
then hao.hubspot_account_owner
else null
end as onboarding_owner,
dp.deal_pipeline_name as deal_pipeline,
dps.stage_name as deal_hubspot_stage,
d.cancellation_category,
d.cancellation_details,
d.amount_of_properties,
d.last_contacted_date_utc,
d.amount_times_contacted,
d.integration_type,
d.dashboard_type,
d.pricing_structure,
d.partnership_services,
d.expressed_service_interest,
d.created_at_utc,
d.created_date_utc,
d.updated_at_utc,
d.updated_date_utc
from stg_hubspot__deals d
left join stg_hubspot__deal_pipeline_stages dps on d.id_deal_stage = dps.id_stage
left join stg_hubspot__deal_pipelines dp on dps.id_deal_pipeline = dp.id_deal_pipeline
left join
stg_seed__hubspot_account_owner hao
on d.id_hubspot_account_owner = hao.id_hubspot_account_owner
-- Exclude Guardhog pipelines
where dps.id_deal_pipeline not in {{ id_deal_pipelines_excluded }}