Merged PR 3810: Adds is_end_of_month_or_yesterday for Main KPIs
# Description Adds `is_end_of_month_or_yesterday` for Main KPIs. Apparently, the fact that we do not show the ongoing value of the month on some tabs of Main KPIs is the main blocker for Ben C to consistently use Main KPIs, which he actually retrieves from the SH legacy reporting. Since I'm sceptical about the data shown there, I want to remove this blocker. It will require a small PR on PBI as well. # Checklist - [X] The edited models and dependants run properly with production data. - [X] The edited models are sufficiently documented. - [X] The edited models contain PK tests, and I've ran and passed them. - [X] I have checked for DRY opportunities with other models and docs. - [NA] I've picked the right materialization for the affected models. # Other - [ ] Check if a full-refresh is required after this PR is merged. Related work items: #25342
This commit is contained in:
parent
8586dc2aec
commit
06603d01e2
8 changed files with 43 additions and 4 deletions
|
|
@ -452,6 +452,7 @@ with
|
||||||
day,
|
day,
|
||||||
is_end_of_month,
|
is_end_of_month,
|
||||||
is_current_month,
|
is_current_month,
|
||||||
|
is_end_of_month_or_yesterday,
|
||||||
first_day_month,
|
first_day_month,
|
||||||
date,
|
date,
|
||||||
dimension,
|
dimension,
|
||||||
|
|
|
||||||
|
|
@ -180,6 +180,7 @@ with
|
||||||
d.day,
|
d.day,
|
||||||
d.is_end_of_month,
|
d.is_end_of_month,
|
||||||
d.is_current_month,
|
d.is_current_month,
|
||||||
|
d.is_end_of_month_or_yesterday,
|
||||||
d.first_day_month,
|
d.first_day_month,
|
||||||
d.date,
|
d.date,
|
||||||
d.dimension,
|
d.dimension,
|
||||||
|
|
@ -390,6 +391,7 @@ select
|
||||||
current.day,
|
current.day,
|
||||||
current.is_end_of_month,
|
current.is_end_of_month,
|
||||||
current.is_current_month,
|
current.is_current_month,
|
||||||
|
current.is_end_of_month_or_yesterday,
|
||||||
current.first_day_month,
|
current.first_day_month,
|
||||||
current.date,
|
current.date,
|
||||||
current.dimension,
|
current.dimension,
|
||||||
|
|
|
||||||
|
|
@ -212,7 +212,13 @@ models:
|
||||||
|
|
||||||
- name: is_end_of_month
|
- name: is_end_of_month
|
||||||
data_type: boolean
|
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:
|
tests:
|
||||||
- not_null
|
- not_null
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,10 @@ with
|
||||||
ikdd.first_day_month,
|
ikdd.first_day_month,
|
||||||
ikdd.last_day_month,
|
ikdd.last_day_month,
|
||||||
ikdd.is_end_of_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
|
from {{ ref("int_kpis__dimension_dates") }} as ikdd
|
||||||
left join
|
left join
|
||||||
{{ ref("int_core__user_host") }} as icuh
|
{{ ref("int_core__user_host") }} as icuh
|
||||||
|
|
@ -44,7 +47,8 @@ with
|
||||||
first_day_month,
|
first_day_month,
|
||||||
last_day_month,
|
last_day_month,
|
||||||
is_end_of_month,
|
is_end_of_month,
|
||||||
is_current_month
|
is_current_month,
|
||||||
|
is_end_of_month_or_yesterday
|
||||||
from daily_dim
|
from daily_dim
|
||||||
where {{ dimension.dimension_value }} <> 'UNSET'
|
where {{ dimension.dimension_value }} <> 'UNSET'
|
||||||
{% if not loop.last %}
|
{% if not loop.last %}
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,8 @@ select distinct
|
||||||
when date_trunc('week', rd.date) = date_trunc('week', rd.today)
|
when date_trunc('week', rd.date) = date_trunc('week', rd.today)
|
||||||
then true
|
then true
|
||||||
else false
|
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
|
from raw_dates rd
|
||||||
where
|
where
|
||||||
-- include only up-to yesterday
|
-- include only up-to yesterday
|
||||||
|
|
|
||||||
|
|
@ -103,6 +103,13 @@ models:
|
||||||
tests:
|
tests:
|
||||||
- not_null
|
- 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
|
- name: int_kpis__agg_dates_main_kpis
|
||||||
description: |
|
description: |
|
||||||
This model provides the skeleton of dates and dimensions needed for Main KPIs display.
|
This model provides the skeleton of dates and dimensions needed for Main KPIs display.
|
||||||
|
|
@ -188,6 +195,13 @@ models:
|
||||||
tests:
|
tests:
|
||||||
- not_null
|
- 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
|
- name: int_kpis__lifecycle_daily_accommodation
|
||||||
description: |
|
description: |
|
||||||
This model computes the daily lifecycle segment for each accommodation, also known as
|
This model computes the daily lifecycle segment for each accommodation, also known as
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,9 @@ select
|
||||||
day as day,
|
day as day,
|
||||||
case when is_end_of_month then 1 else 0 end as is_end_of_month,
|
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_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,
|
first_day_month as first_day_month,
|
||||||
date as date,
|
date as date,
|
||||||
dimension_display as dimension,
|
dimension_display as dimension,
|
||||||
|
|
|
||||||
|
|
@ -355,6 +355,14 @@ models:
|
||||||
tests:
|
tests:
|
||||||
- not_null
|
- 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
|
- name: first_day_month
|
||||||
data_type: date
|
data_type: date
|
||||||
description: |
|
description: |
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue