# Description Propagates Stay Disrupt Guest Product in KPIs flow, within Guest Payments. This is done by: * Adding a new measure on `stay_disrupt_fees_in_gbp` in the daily model `int_kpis__metric_daily_guest_payments` * Adding stay_disrupt_fees_in_gbp in the `total_guest_payments_in_gbp` measure in the daily model `int_kpis__metric_daily_guest_payments` Afterwards this gets propagated downstream. No changes in the `total_guest_payments_in_gbp` measure in following models. However, a new measure for `stay_disrupt_fees_in_gbp` is created in the 4 Guest Payments related models of: * `int_kpis__metric_monthly_guest_payments` * `int_kpis__agg_monthly_guest_payments` * `int_kpis__metric_mtd_guest_payments` * `int_kpis__agg_mtd_guest_payments` Note that this also affects the schema entry of KPIs for both description and completion tests, in the case of aggregation models. Considering the almost non-existent usage of Guest KPIs report, I will not bother propagating Confident Stay in Product Guest KPIs, nor the report itself:  However, total Guest Revenue would include Confident Stay in Guest KPIs as well. Next steps, in a separated PR: * Propagation of new measure `stay_disrupt_fees_in_gbp` so it's available in Main KPIs. # 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: #30278
35 lines
1.1 KiB
SQL
35 lines
1.1 KiB
SQL
{{
|
|
config(
|
|
materialized="view",
|
|
unique_key=[
|
|
"end_date",
|
|
"id_deal",
|
|
"business_scope",
|
|
"has_id_check",
|
|
"active_accommodations_per_deal_segmentation",
|
|
],
|
|
)
|
|
}}
|
|
|
|
select
|
|
-- Unique Key --
|
|
d.first_day_month as start_date,
|
|
d.date as end_date,
|
|
gp.id_deal,
|
|
gp.business_scope,
|
|
gp.has_id_check,
|
|
gp.active_accommodations_per_deal_segmentation,
|
|
-- Dimensions --
|
|
gp.main_billing_country_iso_3_per_deal,
|
|
-- Metrics --
|
|
sum(gp.deposit_fees_in_gbp) as deposit_fees_in_gbp,
|
|
sum(gp.waiver_payments_in_gbp) as waiver_payments_in_gbp,
|
|
sum(gp.checkin_cover_fees_in_gbp) as checkin_cover_fees_in_gbp,
|
|
sum(gp.stay_disrupt_fees_in_gbp) as stay_disrupt_fees_in_gbp,
|
|
sum(gp.total_guest_payments_in_gbp) as total_guest_payments_in_gbp
|
|
from {{ ref("int_kpis__dimension_dates") }} d
|
|
left join
|
|
{{ ref("int_kpis__metric_daily_guest_payments") }} gp
|
|
on date_trunc('month', gp.date)::date = d.first_day_month
|
|
where d.is_end_of_month = true and gp.id_deal is not null
|
|
group by 1, 2, 3, 4, 5, 6, 7
|