second fix

This commit is contained in:
Joaquin 2025-03-27 16:30:22 +01:00
parent d353e852cd
commit 684c233ff9

View file

@ -37,12 +37,29 @@ with
int_kpis__agg_monthly_new_dash_accommodation_offered_services as ( int_kpis__agg_monthly_new_dash_accommodation_offered_services as (
select * select *
from {{ ref("int_kpis__agg_monthly_new_dash_accommodation_offered_services") }} from {{ ref("int_kpis__agg_monthly_new_dash_accommodation_offered_services") }}
),
all_dates as (
select distinct date, dimension, dimension_value
from
(
select date, dimension, dimension_value
from int_kpis__agg_daily_new_dash_created_services
union all
select date, dimension, dimension_value
from int_kpis__agg_daily_new_dash_chargeable_services
union all
select date, dimension, dimension_value
from int_kpis__agg_daily_new_dash_deals_offered_services
union all
select date, dimension, dimension_value
from int_kpis__agg_daily_new_dash_accommodation_offered_services
) combined
) )
select select
coalesce(created.date, chargeable.date) as date, d.date,
'daily' as time_granularity, 'daily' as time_granularity,
coalesce(created.dimension, chargeable.dimension) as dimension, d.dimension,
coalesce(created.dimension_value, chargeable.dimension_value) as dimension_value, d.dimension_value,
coalesce( coalesce(
deals.deal_with_offered_service_count, 0 deals.deal_with_offered_service_count, 0
) as deal_with_offered_service_count, ) as deal_with_offered_service_count,
@ -59,28 +76,33 @@ select
) as total_chargeable_amount_in_gbp, ) as total_chargeable_amount_in_gbp,
coalesce(chargeable.unique_chargeable_bookings, 0) as unique_chargeable_bookings, coalesce(chargeable.unique_chargeable_bookings, 0) as unique_chargeable_bookings,
coalesce(chargeable.unique_chargeable_listings, 0) as unique_chargeable_listings coalesce(chargeable.unique_chargeable_listings, 0) as unique_chargeable_listings
from int_kpis__agg_daily_new_dash_created_services created from all_dates d
full outer join left join
int_kpis__agg_daily_new_dash_created_services created
on d.date = created.date
and d.dimension = created.dimension
and d.dimension_value = created.dimension_value
left join
int_kpis__agg_daily_new_dash_chargeable_services chargeable int_kpis__agg_daily_new_dash_chargeable_services chargeable
on created.date = chargeable.date on created.date = chargeable.date
and created.dimension = chargeable.dimension and created.dimension = chargeable.dimension
and created.dimension_value = chargeable.dimension_value and created.dimension_value = chargeable.dimension_value
full outer join left join
int_kpis__agg_daily_new_dash_deals_offered_services deals int_kpis__agg_daily_new_dash_deals_offered_services deals
on created.date = deals.date on created.date = deals.date
and created.dimension = deals.dimension and created.dimension = deals.dimension
and created.dimension_value = deals.dimension_value and created.dimension_value = deals.dimension_value
full outer join left join
int_kpis__agg_daily_new_dash_accommodation_offered_services accommodation int_kpis__agg_daily_new_dash_accommodation_offered_services accommodation
on created.date = accommodation.date on created.date = accommodation.date
and created.dimension = accommodation.dimension and created.dimension = accommodation.dimension
and created.dimension_value = accommodation.dimension_value and created.dimension_value = accommodation.dimension_value
union all union all
select select
coalesce(created.end_date, chargeable.end_date) as date, d.date,
'weekly' as time_granularity, 'weekly' as time_granularity,
coalesce(created.dimension, chargeable.dimension) as dimension, d.dimension,
coalesce(created.dimension_value, chargeable.dimension_value) as dimension_value, s.dimension_value,
coalesce( coalesce(
deals.deal_with_offered_service_count, 0 deals.deal_with_offered_service_count, 0
) as deal_with_offered_service_count, ) as deal_with_offered_service_count,
@ -98,27 +120,27 @@ select
coalesce(chargeable.unique_chargeable_bookings, 0) as unique_chargeable_bookings, coalesce(chargeable.unique_chargeable_bookings, 0) as unique_chargeable_bookings,
coalesce(chargeable.unique_chargeable_listings, 0) as unique_chargeable_listings coalesce(chargeable.unique_chargeable_listings, 0) as unique_chargeable_listings
from int_kpis__agg_weekly_new_dash_created_services created from int_kpis__agg_weekly_new_dash_created_services created
full outer join left join
int_kpis__agg_weekly_new_dash_chargeable_services chargeable int_kpis__agg_weekly_new_dash_chargeable_services chargeable
on created.end_date = chargeable.end_date on created.end_date = chargeable.end_date
and created.dimension = chargeable.dimension and created.dimension = chargeable.dimension
and created.dimension_value = chargeable.dimension_value and created.dimension_value = chargeable.dimension_value
full outer join left join
int_kpis__agg_weekly_new_dash_deals_offered_services deals int_kpis__agg_weekly_new_dash_deals_offered_services deals
on created.end_date = deals.date on created.end_date = deals.date
and created.dimension = deals.dimension and created.dimension = deals.dimension
and created.dimension_value = deals.dimension_value and created.dimension_value = deals.dimension_value
full outer join left join
int_kpis__agg_weekly_new_dash_accommodation_offered_services accommodation int_kpis__agg_weekly_new_dash_accommodation_offered_services accommodation
on created.end_date = accommodation.date on created.end_date = accommodation.date
and created.dimension = accommodation.dimension and created.dimension = accommodation.dimension
and created.dimension_value = accommodation.dimension_value and created.dimension_value = accommodation.dimension_value
union all union all
select select
coalesce(created.end_date, chargeable.end_date) as date, d.date,
'monthly' as time_granularity, 'monthly' as time_granularity,
coalesce(created.dimension, chargeable.dimension) as dimension, d.dimension,
coalesce(created.dimension_value, chargeable.dimension_value) as dimension_value, s.dimension_value,
coalesce( coalesce(
deals.deal_with_offered_service_count, 0 deals.deal_with_offered_service_count, 0
) as deal_with_offered_service_count, ) as deal_with_offered_service_count,
@ -136,18 +158,18 @@ select
coalesce(chargeable.unique_chargeable_bookings, 0) as unique_chargeable_bookings, coalesce(chargeable.unique_chargeable_bookings, 0) as unique_chargeable_bookings,
coalesce(chargeable.unique_chargeable_listings, 0) as unique_chargeable_listings coalesce(chargeable.unique_chargeable_listings, 0) as unique_chargeable_listings
from int_kpis__agg_monthly_new_dash_created_services created from int_kpis__agg_monthly_new_dash_created_services created
full outer join left join
int_kpis__agg_monthly_new_dash_chargeable_services chargeable int_kpis__agg_monthly_new_dash_chargeable_services chargeable
on created.end_date = chargeable.end_date on created.end_date = chargeable.end_date
and created.dimension = chargeable.dimension and created.dimension = chargeable.dimension
and created.dimension_value = chargeable.dimension_value and created.dimension_value = chargeable.dimension_value
full outer join left join
int_kpis__agg_monthly_new_dash_deals_offered_services deals int_kpis__agg_monthly_new_dash_deals_offered_services deals
on created.end_date = deals.date on created.end_date = deals.date
and created.dimension = deals.dimension and created.dimension = deals.dimension
and created.dimension_value = deals.dimension_value and created.dimension_value = deals.dimension_value
full outer join left join
int_kpis__agg_monthly_new_dash_accommodation_offered_services accommodation
on created.end_date = accommodation.date on created.end_date = accommodation.date
and created.dimension = accommodation.dimension and created.dimension = accommodation.dimension
and created.dimension_value = accommodation.dimension_value and created.dimension_value = accommodation.dimension_value
int_kpis__agg_monthly_new_dash_accommodation_offered_services accommodation