refactor booking metrics children to use new models

This commit is contained in:
Pablo Martin 2024-09-16 13:02:42 +02:00
parent 4140f5b917
commit aa06b28a69

View file

@ -2,11 +2,19 @@
This model pivots the data of the different mtd metrics models to get
previous year for each line & computing relative increment. --
*/
{{ config(materialized="table", unique_key=["date", "dimension", "dimension_value"]) }}
with
int_core__mtd_booking_metrics as (
select * from {{ ref("int_core__mtd_booking_metrics") }}
int_core__mtd_created_bookings_metric as (
select * from {{ ref("int_core__mtd_created_bookings_metric") }}
),
int_core__mtd_check_out_bookings_metric as (
select * from {{ ref("int_core__mtd_check_out_bookings_metric") }}
),
int_core__mtd_cancelled_bookings_metric as (
select * from {{ ref("int_core__mtd_cancelled_bookings_metric") }}
),
int_core__mtd_billable_bookings_metric as (
select * from {{ ref("int_core__mtd_billable_bookings_metric") }}
),
int_core__mtd_guest_journey_metrics as (
select * from {{ ref("int_core__mtd_guest_journey_metrics") }}
@ -23,7 +31,9 @@ with
int_xero__mtd_invoicing_metrics as (
select * from {{ ref("int_xero__mtd_invoicing_metrics") }}
),
int_dates_mtd_by_dimension as (select * from {{ ref("int_dates_mtd_by_dimension") }}),
int_dates_mtd_by_dimension as (
select * from {{ ref("int_dates_mtd_by_dimension") }}
),
plain_kpi_combination as (
@ -39,10 +49,10 @@ with
d.dimension_value,
-- BOOKINGS --
bookings.created_bookings,
bookings.check_out_bookings,
bookings.cancelled_bookings,
bookings.billable_bookings,
created_bookings.created_bookings,
check_out_bookings.check_out_bookings,
cancelled_bookings.cancelled_bookings,
billable_bookings.billable_bookings,
-- GUEST JOURNEYS --
guest_journeys.created_guest_journeys,
@ -147,8 +157,9 @@ with
+ coalesce(invoicing.xero_waiver_paid_back_to_host_in_gbp, 0)
+ coalesce(invoicing.xero_operator_net_fees_in_gbp, 0)
+ coalesce(invoicing.xero_apis_net_fees_in_gbp, 0)
)
/ nullif(bookings.created_bookings, 0) as total_revenue_per_created_booking,
) / nullif(
created_bookings.created_bookings, 0
) as total_revenue_per_created_booking,
(
coalesce(guest_payments.total_guest_payments_in_gbp, 0)
+ coalesce(invoicing.xero_waiver_paid_back_to_host_in_gbp, 0)
@ -176,10 +187,25 @@ with
from int_dates_mtd_by_dimension d
left join
int_core__mtd_booking_metrics bookings
on d.date = bookings.date
and d.dimension = bookings.dimension
and d.dimension_value = bookings.dimension_value
int_core__mtd_created_bookings_metric created_bookings
on d.date = created_bookings.date
and d.dimension = created_bookings.dimension
and d.dimension_value = created_bookings.dimension_value
left join
int_core__mtd_check_out_bookings_metric check_out_bookings
on d.date = check_out_bookings.date
and d.dimension = check_out_bookings.dimension
and d.dimension_value = check_out_bookings.dimension_value
left join
int_core__mtd_cancelled_bookings_metric cancelled_bookings
on d.date = cancelled_bookings.date
and d.dimension = cancelled_bookings.dimension
and d.dimension_value = cancelled_bookings.dimension_value
left join
int_core__mtd_billable_bookings_metric billable_bookings
on d.date = billable_bookings.date
and d.dimension = billable_bookings.dimension
and d.dimension_value = billable_bookings.dimension_value
left join
int_core__mtd_guest_journey_metrics guest_journeys
on d.date = guest_journeys.date