{% 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(ikd_deals.id_deal, 'UNSET') as id_deal, 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 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 %}