data-dwh-dbt-project/models/intermediate/kpis/int_kpis__metric_mtd_guest_payments.sql

37 lines
1.1 KiB
MySQL
Raw Normal View History

{{
config(
materialized="view",
unique_key=[
"end_date",
"id_deal",
"business_scope",
2024-11-07 08:45:17 +01:00
"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,
2024-11-07 08:45:17 +01:00
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,
Merged PR 5285: Adds Stay Disrupt (Confident Stay) Fees in KPIs Guest Payments flow # 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: ![image.png](https://guardhog.visualstudio.com/4148d95f-4b6d-4205-bcff-e9c8e0d2ca65/_apis/git/repositories/54ac356f-aad7-46d2-b62c-e8c5b3bb8ebf/pullRequests/5285/attachments/image.png) 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
2025-05-23 10:33:26 +00:00
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
and extract(day from gp.date) <= d.day
where d.is_month_to_date = true and gp.id_deal is not null
group by 1, 2, 3, 4, 5, 6, 7