diff --git a/models/intermediate/cross/int_mtd_aggregated_metrics.sql b/models/intermediate/cross/int_mtd_aggregated_metrics.sql index d2e932e..8d582f2 100644 --- a/models/intermediate/cross/int_mtd_aggregated_metrics.sql +++ b/models/intermediate/cross/int_mtd_aggregated_metrics.sql @@ -452,6 +452,7 @@ with day, is_end_of_month, is_current_month, + is_end_of_month_or_yesterday, first_day_month, date, dimension, diff --git a/models/intermediate/cross/int_mtd_vs_previous_year_metrics.sql b/models/intermediate/cross/int_mtd_vs_previous_year_metrics.sql index 075f3ea..e4848d2 100644 --- a/models/intermediate/cross/int_mtd_vs_previous_year_metrics.sql +++ b/models/intermediate/cross/int_mtd_vs_previous_year_metrics.sql @@ -180,6 +180,7 @@ with d.day, d.is_end_of_month, d.is_current_month, + d.is_end_of_month_or_yesterday, d.first_day_month, d.date, d.dimension, @@ -390,6 +391,7 @@ select current.day, current.is_end_of_month, current.is_current_month, + current.is_end_of_month_or_yesterday, current.first_day_month, current.date, current.dimension, diff --git a/models/intermediate/cross/schema.yml b/models/intermediate/cross/schema.yml index cd6a8e0..a218351 100644 --- a/models/intermediate/cross/schema.yml +++ b/models/intermediate/cross/schema.yml @@ -212,7 +212,13 @@ models: - name: is_end_of_month data_type: boolean - description: is end of month, 1 for yes, 0 for no. + description: True if it's end of month. + tests: + - not_null + + - name: is_end_of_month_or_yesterday + data_type: boolean + description: True if it's end of month or yesterday. tests: - not_null diff --git a/models/intermediate/kpis/int_kpis__agg_dates_main_kpis.sql b/models/intermediate/kpis/int_kpis__agg_dates_main_kpis.sql index deb9a70..ccc377b 100644 --- a/models/intermediate/kpis/int_kpis__agg_dates_main_kpis.sql +++ b/models/intermediate/kpis/int_kpis__agg_dates_main_kpis.sql @@ -20,7 +20,10 @@ with ikdd.first_day_month, ikdd.last_day_month, ikdd.is_end_of_month, - ikdd.is_current_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_core__user_host") }} as icuh @@ -44,7 +47,8 @@ with first_day_month, last_day_month, is_end_of_month, - is_current_month + is_current_month, + is_end_of_month_or_yesterday from daily_dim where {{ dimension.dimension_value }} <> 'UNSET' {% if not loop.last %} diff --git a/models/intermediate/kpis/int_kpis__dimension_dates.sql b/models/intermediate/kpis/int_kpis__dimension_dates.sql index 6b0cb61..5168cf4 100644 --- a/models/intermediate/kpis/int_kpis__dimension_dates.sql +++ b/models/intermediate/kpis/int_kpis__dimension_dates.sql @@ -49,7 +49,8 @@ select distinct when date_trunc('week', rd.date) = date_trunc('week', rd.today) then true else false - end as is_current_week + end as is_current_week, + case when rd.today - rd.date = 1 then true else false end as is_yesterday from raw_dates rd where -- include only up-to yesterday diff --git a/models/intermediate/kpis/schema.yml b/models/intermediate/kpis/schema.yml index 4eb1b7e..d29a941 100644 --- a/models/intermediate/kpis/schema.yml +++ b/models/intermediate/kpis/schema.yml @@ -103,6 +103,13 @@ models: tests: - not_null + - name: is_yesterday + data_type: boolean + description: | + True if the date is yesterday, false otherwise. + tests: + - not_null + - name: int_kpis__agg_dates_main_kpis description: | This model provides the skeleton of dates and dimensions needed for Main KPIs display. @@ -188,6 +195,13 @@ models: tests: - not_null + - name: is_end_of_month_or_yesterday + data_type: boolean + description: | + True if the date is the end of the month OR yesterday, false otherwise. + tests: + - not_null + - name: int_kpis__lifecycle_daily_accommodation description: | This model computes the daily lifecycle segment for each accommodation, also known as diff --git a/models/reporting/general/mtd_aggregated_metrics.sql b/models/reporting/general/mtd_aggregated_metrics.sql index 8600534..16dbb6f 100644 --- a/models/reporting/general/mtd_aggregated_metrics.sql +++ b/models/reporting/general/mtd_aggregated_metrics.sql @@ -26,6 +26,9 @@ select day as day, case when is_end_of_month then 1 else 0 end as is_end_of_month, case when is_current_month then 1 else 0 end as is_current_month, + case + when is_end_of_month_or_yesterday then 1 else 0 + end as is_end_of_month_or_yesterday, first_day_month as first_day_month, date as date, dimension_display as dimension, diff --git a/models/reporting/general/schema.yml b/models/reporting/general/schema.yml index 5a0e07e..d3f32a1 100644 --- a/models/reporting/general/schema.yml +++ b/models/reporting/general/schema.yml @@ -355,6 +355,14 @@ models: tests: - not_null + - name: is_end_of_month_or_yesterday + data_type: boolean + description: | + Checks if the date is end of month or yesterday, + 1 for yes, 0 for no. + tests: + - not_null + - name: first_day_month data_type: date description: |