refactor booking metrics children to use new models

This commit is contained in:
Pablo Martin 2024-09-16 13:02:42 +02:00 committed by Joaquin Ossa
parent 4b5c4d1967
commit bbbfaeabdf

View file

@ -4,8 +4,17 @@ previous year for each line & computing relative increment. --
*/ */
{{ config(materialized="table", unique_key=["date", "dimension", "dimension_value"]) }} {{ config(materialized="table", unique_key=["date", "dimension", "dimension_value"]) }}
with with
int_core__mtd_booking_metrics as ( int_core__mtd_created_bookings_metric as (
select * from {{ ref("int_core__mtd_booking_metrics") }} 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 ( int_core__mtd_guest_journey_metrics as (
select * from {{ ref("int_core__mtd_guest_journey_metrics") }} select * from {{ ref("int_core__mtd_guest_journey_metrics") }}
@ -40,10 +49,10 @@ with
d.dimension_value, d.dimension_value,
-- BOOKINGS -- -- BOOKINGS --
bookings.created_bookings, created_bookings.created_bookings,
bookings.check_out_bookings, check_out_bookings.check_out_bookings,
bookings.cancelled_bookings, cancelled_bookings.cancelled_bookings,
bookings.billable_bookings, billable_bookings.billable_bookings,
-- GUEST JOURNEYS -- -- GUEST JOURNEYS --
guest_journeys.created_guest_journeys, guest_journeys.created_guest_journeys,
@ -148,8 +157,9 @@ with
+ coalesce(invoicing.xero_waiver_paid_back_to_host_in_gbp, 0) + coalesce(invoicing.xero_waiver_paid_back_to_host_in_gbp, 0)
+ coalesce(invoicing.xero_operator_net_fees_in_gbp, 0) + coalesce(invoicing.xero_operator_net_fees_in_gbp, 0)
+ coalesce(invoicing.xero_apis_net_fees_in_gbp, 0) + coalesce(invoicing.xero_apis_net_fees_in_gbp, 0)
) ) / nullif(
/ nullif(bookings.created_bookings, 0) as total_revenue_per_created_booking, created_bookings.created_bookings, 0
) as total_revenue_per_created_booking,
( (
coalesce(guest_payments.total_guest_payments_in_gbp, 0) coalesce(guest_payments.total_guest_payments_in_gbp, 0)
+ coalesce(invoicing.xero_waiver_paid_back_to_host_in_gbp, 0) + coalesce(invoicing.xero_waiver_paid_back_to_host_in_gbp, 0)
@ -177,10 +187,25 @@ with
from int_dates_mtd_by_dimension d from int_dates_mtd_by_dimension d
left join left join
int_core__mtd_booking_metrics bookings int_core__mtd_created_bookings_metric created_bookings
on d.date = bookings.date on d.date = created_bookings.date
and d.dimension = bookings.dimension and d.dimension = created_bookings.dimension
and d.dimension_value = bookings.dimension_value 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 left join
int_core__mtd_guest_journey_metrics guest_journeys int_core__mtd_guest_journey_metrics guest_journeys
on d.date = guest_journeys.date on d.date = guest_journeys.date