save models wip
This commit is contained in:
parent
231411ce93
commit
3e5fd5a761
4 changed files with 105 additions and 0 deletions
|
|
@ -107,6 +107,11 @@ Provides a general assignemnt for the Dimensions available for each KPI
|
||||||
{% set additional_dimensions = [dim_dash()] %}
|
{% set additional_dimensions = [dim_dash()] %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
{# Add entity-specific dimensions #}
|
||||||
|
{% if entity_name == "GUEST_JOURNEY_METRICS" %}
|
||||||
|
{% set additional_dimensions = [dim_has_payment(), dim_has_id_check()] %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
{# Combine base dimensions with additional dimensions for the specific model #}
|
{# Combine base dimensions with additional dimensions for the specific model #}
|
||||||
{% set dimensions = base_dimensions + additional_dimensions %}
|
{% set dimensions = base_dimensions + additional_dimensions %}
|
||||||
{{ return(dimensions) }}
|
{{ return(dimensions) }}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,35 @@
|
||||||
|
{% set dimensions = get_kpi_dimensions_per_model("GUEST_JOURNEY_METRICS") %}
|
||||||
|
|
||||||
|
{{
|
||||||
|
config(
|
||||||
|
materialized="table", unique_key=["end_date", "dimension", "dimension_value"]
|
||||||
|
)
|
||||||
|
}}
|
||||||
|
|
||||||
|
|
||||||
|
{% for dimension in dimensions %}
|
||||||
|
select
|
||||||
|
-- Unique Key --
|
||||||
|
start_date,
|
||||||
|
end_date,
|
||||||
|
{{ dimension.dimension }} as dimension,
|
||||||
|
{{ dimension.dimension_value }} as dimension_value,
|
||||||
|
-- Metrics --
|
||||||
|
sum(
|
||||||
|
created_guest_journeys_not_cancelled
|
||||||
|
) as created_guest_journeys_not_cancelled,
|
||||||
|
sum(
|
||||||
|
started_guest_journeys_not_cancelled
|
||||||
|
) as started_guest_journeys_not_cancelled,
|
||||||
|
sum(
|
||||||
|
completed_guest_journeys_not_cancelled
|
||||||
|
) as completed_guest_journeys_not_cancelled,
|
||||||
|
sum(created_guest_journeys) as created_guest_journeys,
|
||||||
|
sum(started_guest_journeys) as started_guest_journeys,
|
||||||
|
sum(completed_guest_journeys) as completed_guest_journeys
|
||||||
|
from {{ ref("int_kpis__metric_monthly_check_in_attributed_guest_journeys") }}
|
||||||
|
group by 1, 2, 3, 4
|
||||||
|
{% if not loop.last %}
|
||||||
|
union all
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
|
@ -0,0 +1,32 @@
|
||||||
|
{{
|
||||||
|
config(
|
||||||
|
materialized="view",
|
||||||
|
unique_key=["end_date", "id_deal", "has_payment", "has_id_check"],
|
||||||
|
)
|
||||||
|
}}
|
||||||
|
|
||||||
|
select
|
||||||
|
-- Unique Key --
|
||||||
|
d.first_day_month as start_date,
|
||||||
|
d.date as end_date,
|
||||||
|
b.id_deal,
|
||||||
|
b.has_payment,
|
||||||
|
b.has_id_check,
|
||||||
|
-- Dimensions --
|
||||||
|
b.active_accommodations_per_deal_segmentation,
|
||||||
|
b.main_billing_country_iso_3_per_deal,
|
||||||
|
-- Metrics --
|
||||||
|
sum(b.created_guest_journeys_not_cancelled) as created_guest_journeys_not_cancelled,
|
||||||
|
sum(b.started_guest_journeys_not_cancelled) as started_guest_journeys_not_cancelled,
|
||||||
|
sum(
|
||||||
|
b.completed_guest_journeys_not_cancelled
|
||||||
|
) as completed_guest_journeys_not_cancelled,
|
||||||
|
sum(b.created_guest_journeys) as created_guest_journeys,
|
||||||
|
sum(b.started_guest_journeys) as started_guest_journeys,
|
||||||
|
sum(b.completed_guest_journeys) as completed_guest_journeys
|
||||||
|
from {{ ref("int_kpis__dimension_dates") }} d
|
||||||
|
left join
|
||||||
|
{{ ref("int_kpis__metric_daily_check_in_attributed_guest_journeys") }} b
|
||||||
|
on date_trunc('month', b.date)::date = d.first_day_month
|
||||||
|
where d.is_end_of_month = true and b.id_deal is not null
|
||||||
|
group by 1, 2, 3, 4, 5, 6, 7
|
||||||
|
|
@ -0,0 +1,33 @@
|
||||||
|
{{
|
||||||
|
config(
|
||||||
|
materialized="view",
|
||||||
|
unique_key=["end_date", "id_deal", "has_payment", "has_id_check"],
|
||||||
|
)
|
||||||
|
}}
|
||||||
|
|
||||||
|
select
|
||||||
|
-- Unique Key --
|
||||||
|
d.first_day_month as start_date,
|
||||||
|
d.date as end_date,
|
||||||
|
b.id_deal,
|
||||||
|
b.has_payment,
|
||||||
|
b.has_id_check,
|
||||||
|
-- Dimensions --
|
||||||
|
b.active_accommodations_per_deal_segmentation,
|
||||||
|
b.main_billing_country_iso_3_per_deal,
|
||||||
|
-- Metrics --
|
||||||
|
sum(b.created_guest_journeys_not_cancelled) as created_guest_journeys_not_cancelled,
|
||||||
|
sum(b.started_guest_journeys_not_cancelled) as started_guest_journeys_not_cancelled,
|
||||||
|
sum(
|
||||||
|
b.completed_guest_journeys_not_cancelled
|
||||||
|
) as completed_guest_journeys_not_cancelled,
|
||||||
|
sum(b.created_guest_journeys) as created_guest_journeys,
|
||||||
|
sum(b.started_guest_journeys) as started_guest_journeys,
|
||||||
|
sum(b.completed_guest_journeys) as completed_guest_journeys
|
||||||
|
from {{ ref("int_kpis__dimension_dates") }} d
|
||||||
|
left join
|
||||||
|
{{ ref("int_kpis__metric_daily_check_in_attributed_guest_journeys") }} b
|
||||||
|
on date_trunc('month', b.date)::date = d.first_day_month
|
||||||
|
and extract(day from b.date) <= d.day
|
||||||
|
where d.is_month_to_date = true and b.id_deal is not null
|
||||||
|
group by 1, 2, 3, 4, 5, 6, 7
|
||||||
Loading…
Add table
Add a link
Reference in a new issue