2024-11-11 15:57:37 +00:00
|
|
|
{% set dimensions = get_kpi_dimensions_per_model("") %}
|
|
|
|
|
|
|
|
|
|
{{ config(materialized="table", unique_key=["date", "dimension", "dimension_value"]) }}
|
|
|
|
|
|
|
|
|
|
with
|
|
|
|
|
daily_dim as (
|
|
|
|
|
select distinct
|
|
|
|
|
ikdd.year,
|
|
|
|
|
ikdd.month,
|
|
|
|
|
ikdd.day,
|
|
|
|
|
ikdd.date,
|
|
|
|
|
-- Dimensions --
|
|
|
|
|
coalesce(icuh.id_deal, 'UNSET') as id_deal,
|
|
|
|
|
coalesce(
|
|
|
|
|
icd.main_billing_country_iso_3_per_deal, 'UNSET'
|
|
|
|
|
) as main_billing_country_iso_3_per_deal,
|
|
|
|
|
coalesce(
|
|
|
|
|
icmas.active_accommodations_per_deal_segmentation, 'UNSET'
|
|
|
|
|
) as active_accommodations_per_deal_segmentation,
|
|
|
|
|
ikdd.first_day_month,
|
|
|
|
|
ikdd.last_day_month,
|
|
|
|
|
ikdd.is_end_of_month,
|
2024-12-09 16:13:52 +00:00
|
|
|
ikdd.is_current_month,
|
|
|
|
|
case
|
|
|
|
|
when ikdd.is_yesterday or ikdd.is_end_of_month then true else false
|
|
|
|
|
end as is_end_of_month_or_yesterday
|
2024-11-11 15:57:37 +00:00
|
|
|
from {{ ref("int_kpis__dimension_dates") }} as ikdd
|
|
|
|
|
left join
|
|
|
|
|
{{ ref("int_core__user_host") }} as icuh
|
|
|
|
|
on ikdd.date >= date(icuh.created_date_utc)
|
|
|
|
|
left join {{ ref("int_core__deal") }} as icd on icuh.id_deal = icd.id_deal
|
|
|
|
|
left join
|
|
|
|
|
{{ ref("int_kpis__dimension_daily_accommodation") }} as icmas
|
|
|
|
|
on icuh.id_deal = icmas.id_deal
|
|
|
|
|
and ikdd.date = icmas.date
|
|
|
|
|
where (ikdd.is_month_to_date = true or ikdd.is_end_of_month)
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
{% for dimension in dimensions %}
|
|
|
|
|
select distinct
|
|
|
|
|
year,
|
|
|
|
|
month,
|
|
|
|
|
day,
|
|
|
|
|
date,
|
|
|
|
|
{{ dimension.dimension }} as dimension,
|
|
|
|
|
{{ dimension.dimension_value }} as dimension_value,
|
|
|
|
|
first_day_month,
|
|
|
|
|
last_day_month,
|
|
|
|
|
is_end_of_month,
|
2024-12-09 16:13:52 +00:00
|
|
|
is_current_month,
|
|
|
|
|
is_end_of_month_or_yesterday
|
2024-11-11 15:57:37 +00:00
|
|
|
from daily_dim
|
|
|
|
|
where {{ dimension.dimension_value }} <> 'UNSET'
|
|
|
|
|
{% if not loop.last %}
|
|
|
|
|
union all
|
|
|
|
|
{% endif %}
|
|
|
|
|
{% endfor %}
|