# Description Ensure only Authorised states are selected in bank transactions for Host Resolutions KPIs. Waiting for final confirmation from Suzannah but I'm pretty sure about this since it's consistent with the P&L (and does not make sense to consider DELETED bank transactions anyway) For reference, here's the current values in prod for `xero_host_resolution_amount_paid_in_gbp` (top3): * 2024-12-31 -74318 * 2024-11-30 -87935 * 2024-10-31 -73840 and here the same with this fix. Note that the difference is mostly in November: * 2024-12-31 -73581 * 2024-11-30 -74803 * 2024-10-31 -72473 # 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. - [X] I have checked for DRY opportunities with other models and docs. - [X] 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: #26247
31 lines
1.4 KiB
SQL
31 lines
1.4 KiB
SQL
{% set resolutions_host_payment_account_name = "('RESOLUTIONS - HOST PAYMENT')" %}
|
|
{% set relevant_transaction_status = "('AUTHORISED')" %}
|
|
|
|
{{ config(materialized="table", unique_key=["date", "id_deal"]) }}
|
|
select
|
|
-- Unique Key --
|
|
ixbt.transaction_date_utc as date,
|
|
coalesce(ixc.id_deal, 'UNSET') as id_deal,
|
|
-- Dimensions --
|
|
coalesce(
|
|
icd.main_billing_country_iso_3_per_deal, 'UNSET'
|
|
) as main_billing_country_iso_3_per_deal,
|
|
coalesce(
|
|
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_core__deal") }} as icd on ixc.id_deal = icd.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
|
|
group by 1, 2, 3, 4
|