{% set dimensions = get_kpi_dimensions_per_model("MAIN_KPIS_DATES") %} {{ 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(ikd_deals.id_deal, 'UNSET') as id_deal, case when ikd_deals.client_type = 'API' then 'API' when ikd_deals.client_type = 'PLATFORM' then case when icnddsd.id_deal is not null and ikdd.date >= icnddsd.min_user_in_new_dash_since_date_utc then 'New Dash' else 'Old Dash' end else 'UNSET' end as business_scope, coalesce( ikd_deals.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, 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 from {{ ref("int_kpis__dimension_dates") }} as ikdd left join {{ ref("int_kpis__dimension_deals") }} as ikd_deals on ikdd.date >= ikd_deals.effective_deal_start_date_utc left join {{ ref("int_kpis__dimension_daily_accommodation") }} as icmas on ikd_deals.id_deal = icmas.id_deal and ikdd.date = icmas.date left join {{ ref("int_core__new_dash_deal_since_date") }} as icnddsd on ikd_deals.id_deal = icnddsd.id_deal 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, is_current_month, is_end_of_month_or_yesterday from daily_dim where {{ dimension.dimension_value }} <> 'UNSET' {% if not loop.last %} union all {% endif %} {% endfor %}