Merged PR 2615: Beautification of KPIs dimensions
# Description Changes: * Separate 1) the internal naming of dimensions available within DWH vs. 2) the display of the dimensions in the reporting. Mainly it changes the "by_number_of_listings" to display "By # of Listings Booked in 12 Months". I edited the production macro since to me it's linked to when things are available for display. * Add preceding zeros on the segmentation so it's ordered correctly. Before, the segment 21-60 was displayed before the 6-20. * Also added some capital letters to the schema config of the reporting model :) I attach a screenshot of how it looks in PBI in my local development branch to exemplify why this is "Beautification". Be aware that merging this also puts in production the dimensions.  # 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. - [X] 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: #19325
This commit is contained in:
parent
83d913f9fc
commit
85131985d8
5 changed files with 51 additions and 32 deletions
|
|
@ -1,12 +1,26 @@
|
|||
{% set production_dimensions = get_kpi_dimensions_for_production() %}
|
||||
|
||||
with
|
||||
dimensions as (
|
||||
{% for dimension in production_dimensions %}
|
||||
select
|
||||
{{ dimension.dimension }} as dimension,
|
||||
{{ dimension.dimension_display }} as dimension_display
|
||||
{% if not loop.last %}
|
||||
union all
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
),
|
||||
int_mtd_aggregated_metrics as (
|
||||
select * from {{ ref("int_mtd_aggregated_metrics") }}
|
||||
select
|
||||
m.*,
|
||||
d.dimension_display
|
||||
from {{ ref("int_mtd_aggregated_metrics") }} m
|
||||
-- The following clause limits the display execution
|
||||
-- to only include those dimensions configured to
|
||||
-- appear for production purposes
|
||||
where dimension in ({{ production_dimensions }})
|
||||
inner join dimensions d
|
||||
on m.dimension = d.dimension
|
||||
)
|
||||
|
||||
select
|
||||
|
|
@ -17,7 +31,7 @@ select
|
|||
is_current_month as is_current_month,
|
||||
first_day_month as first_day_month,
|
||||
date as date,
|
||||
dimension as dimension,
|
||||
dimension_display as dimension,
|
||||
dimension_value as dimension_value,
|
||||
previous_year_date as previous_year_date,
|
||||
order_by as order_by,
|
||||
|
|
|
|||
|
|
@ -317,32 +317,32 @@ models:
|
|||
columns:
|
||||
- name: year
|
||||
data_type: int
|
||||
description: year number of the given date.
|
||||
description: Year number of the given date.
|
||||
tests:
|
||||
- not_null
|
||||
|
||||
- name: month
|
||||
data_type: int
|
||||
description: month number of the given date.
|
||||
description: Month number of the given date.
|
||||
tests:
|
||||
- not_null
|
||||
|
||||
- name: day
|
||||
data_type: int
|
||||
description: day monthly number of the given date.
|
||||
description: Day monthly number of the given date.
|
||||
tests:
|
||||
- not_null
|
||||
|
||||
- name: is_end_of_month
|
||||
data_type: boolean
|
||||
description: is end of month, 1 for yes, 0 for no.
|
||||
description: Is end of month, 1 for yes, 0 for no.
|
||||
tests:
|
||||
- not_null
|
||||
|
||||
- name: is_current_month
|
||||
data_type: boolean
|
||||
description: |
|
||||
checks if the date is within the current executed month,
|
||||
Checks if the date is within the current executed month,
|
||||
1 for yes, 0 for no.
|
||||
tests:
|
||||
- not_null
|
||||
|
|
@ -350,7 +350,7 @@ models:
|
|||
- name: first_day_month
|
||||
data_type: date
|
||||
description: |
|
||||
first day of the month correspoding to the date field.
|
||||
First day of the month correspoding to the date field.
|
||||
It comes from int_dates_mtd logic.
|
||||
tests:
|
||||
- not_null
|
||||
|
|
@ -358,19 +358,21 @@ models:
|
|||
- name: date
|
||||
data_type: date
|
||||
description: |
|
||||
main date for the computation, that is used for filters.
|
||||
Main date for the computation, that is used for filters.
|
||||
It comes from int_dates_mtd logic.
|
||||
tests:
|
||||
- not_null
|
||||
|
||||
- name: dimension
|
||||
data_type: string
|
||||
description: The dimension or granularity of the metrics.
|
||||
description: |
|
||||
The dimension or granularity of the metrics. Keep in mind that
|
||||
in this reporting model this field corresponds to the
|
||||
dimension_display; this is, the name of the dimension for
|
||||
displaying purposes.
|
||||
|
||||
tests:
|
||||
- accepted_values:
|
||||
values:
|
||||
- global
|
||||
- by_number_of_listings
|
||||
- not_null
|
||||
|
||||
- name: dimension_value
|
||||
data_type: string
|
||||
|
|
@ -381,25 +383,25 @@ models:
|
|||
- name: previous_year_date
|
||||
data_type: date
|
||||
description: |
|
||||
corresponds to the date of the previous year, with respect to the field date.
|
||||
Corresponds to the date of the previous year, with respect to the field date.
|
||||
It comes from int_dates_mtd logic. It's only displayed for information purposes,
|
||||
should not be needed for reporting.
|
||||
|
||||
- name: metric
|
||||
data_type: text
|
||||
description: name of the business metric.
|
||||
description: Name of the business metric.
|
||||
tests:
|
||||
- not_null
|
||||
|
||||
- name: order_by
|
||||
data_type: integer
|
||||
description: |
|
||||
order for displaying purposes. Null values are accepted, but keep
|
||||
Order for displaying purposes. Null values are accepted, but keep
|
||||
in mind that then there's no default controlled display order.
|
||||
|
||||
- name: number_format
|
||||
data_type: text
|
||||
description: allows for grouping and formatting for displaying purposes.
|
||||
description: Allows for grouping and formatting for displaying purposes.
|
||||
tests:
|
||||
- accepted_values:
|
||||
values: ['integer', 'percentage', 'currency_gbp']
|
||||
|
|
@ -407,26 +409,26 @@ models:
|
|||
- name: value
|
||||
data_type: numeric
|
||||
description: |
|
||||
numeric value (integer or decimal) that corresponds to the MTD computation of the metric
|
||||
Numeric value (integer or decimal) that corresponds to the MTD computation of the metric
|
||||
at a given date. Note that if the month is not in progress, then this value corresponds
|
||||
to the monthly figure.
|
||||
|
||||
- name: previous_year_value
|
||||
data_type: numeric
|
||||
description: |
|
||||
numeric value (integer or decimal) that corresponds to the MTD computation of the metric
|
||||
Numeric value (integer or decimal) that corresponds to the MTD computation of the metric
|
||||
on the previous year at a given date.
|
||||
|
||||
- name: relative_increment
|
||||
data_type: numeric
|
||||
description: |
|
||||
numeric value that corresponds to the relative increment between value and previous year value,
|
||||
Numeric value that corresponds to the relative increment between value and previous year value,
|
||||
following the computation: value / previous_year_value - 1.
|
||||
|
||||
- name: relative_increment_with_sign_format
|
||||
data_type: numeric
|
||||
description: |
|
||||
relative_increment value multiplied by -1 in case this metric's growth doesn't have a
|
||||
Relative_increment value multiplied by -1 in case this metric's growth doesn't have a
|
||||
positive impact for Superhog, otherwise is equal to relative_increment.
|
||||
This value is specially created for formatting in PBI
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue