Merged PR 5071: Update KPIs Host Resolutions Payments model

# Description

Updated `int_kpis__metric_daily_host_resolutions` to read from `int_xero__host_resolutions_payments` with the new Host Resolutions credit notes.
Now it includes both bank transactions and credit notes for Host Resolutions Payments

# 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.

Commit wip

Related work items: #29373
This commit is contained in:
Joaquin Ossa 2025-04-28 08:12:57 +00:00
commit f1ed65e210

View file

@ -4,8 +4,8 @@
{{ config(materialized="table", unique_key=["date", "id_deal", "business_scope"]) }}
select
-- Unique Key --
ixbt.transaction_date_utc as date,
coalesce(ixc.id_deal, 'UNSET') as id_deal,
hrp.transaction_date_utc as date,
coalesce(hrp.id_deal, 'UNSET') as id_deal,
case
when ikdd.client_type = 'API'
then 'API'
@ -17,11 +17,11 @@ select
case
when
icnddsd.id_deal is not null
and date_trunc('month', ixbt.transaction_date_utc)::date
and date_trunc('month', hrp.transaction_date_utc)::date
>= date_trunc(
'month', icnddsd.min_user_in_new_dash_since_date_utc
)::date
and ixbt.transaction_date_utc
and hrp.transaction_date_utc
>= date({{ var("new_dash_first_invoicing_date") }})
then 'New Dash'
else 'Old Dash'
@ -36,21 +36,15 @@ select
icmas.active_accommodations_per_deal_segmentation, 'UNSET'
) as active_accommodations_per_deal_segmentation,
-- Metrics --
sum(ixbtli.line_amount_wo_taxes_in_gbp) as xero_host_resolution_amount_paid_in_gbp,
count(distinct ixbt.id_bank_transaction) as xero_host_resolution_payment_count
from {{ ref("int_xero__bank_transactions") }} as ixbt
inner join
{{ ref("int_xero__bank_transaction_line_items") }} as ixbtli
on ixbt.id_bank_transaction = ixbtli.id_bank_transaction
and upper(ixbtli.account_name) in {{ resolutions_host_payment_account_name }}
and upper(ixbt.transaction_status) in {{ relevant_transaction_status }}
left join {{ ref("int_xero__contacts") }} as ixc on ixc.id_contact = ixbt.id_contact
left join {{ ref("int_kpis__dimension_deals") }} as ikdd on ixc.id_deal = ikdd.id_deal
sum(hrp.line_amount_wo_taxes_in_gbp) as xero_host_resolution_amount_paid_in_gbp,
count(distinct hrp.id_line_item) as xero_host_resolution_payment_count
from {{ ref("int_xero__host_resolutions_payments") }} as hrp
left join {{ ref("int_kpis__dimension_deals") }} as ikdd on hrp.id_deal = ikdd.id_deal
left join
{{ ref("int_kpis__dimension_daily_accommodation") }} as icmas
on ixc.id_deal = icmas.id_deal
and ixbt.transaction_date_utc = icmas.date
on hrp.id_deal = icmas.id_deal
and hrp.transaction_date_utc = icmas.date
left join
{{ ref("int_core__new_dash_deal_since_date") }} as icnddsd
on ixc.id_deal = icnddsd.id_deal
on hrp.id_deal = icnddsd.id_deal
group by 1, 2, 3, 4, 5