{% set dimensions = get_kpi_dimensions_per_model("CREATED_BOOKINGS") %}

{{ config(materialized="table", unique_key=["date", "dimension", "dimension_value"]) }}


{% for dimension in dimensions %}
    select
        -- Unique Key --
        date,
        {{ dimension.dimension }} as dimension,
        {{ dimension.dimension_value }} as dimension_value,
        -- Metrics --
        sum(created_bookings) as created_bookings,
        sum(cancelled_created_bookings) as cancelled_created_bookings,
        sum(not_cancelled_created_bookings) as not_cancelled_created_bookings,
        sum(cancelled_created_bookings)
        / sum(created_bookings) as cancelled_created_bookings_rate
    from {{ ref("int_kpis__metric_daily_created_bookings") }}
    group by 1, 2, 3
    {% if not loop.last %}
        union all
    {% endif %}
{% endfor %}
