Merged PR 2053: Added number_format category in mtd_aggregated_metrics
Added number_format category in mtd_aggregated_metrics Related work items: #17458
This commit is contained in:
parent
a686c16978
commit
4958976733
3 changed files with 161 additions and 32 deletions
|
|
@ -1,41 +1,156 @@
|
||||||
{% set metrics = [
|
{% set metrics = [
|
||||||
{'source': 'int_core__mtd_booking_metrics', 'order_by': 1, 'metric': 'Created Bookings', 'value': 'created_bookings', 'previous_year_value': 'previous_year_created_bookings', 'relative_increment': 'relative_increment_created_bookings'},
|
{
|
||||||
{'source': 'int_core__mtd_booking_metrics', 'order_by': 2, 'metric': 'Checkout Bookings', 'value': 'check_out_bookings', 'previous_year_value': 'previous_year_check_out_bookings', 'relative_increment': 'relative_increment_check_out_bookings'},
|
"source": "int_core__mtd_booking_metrics",
|
||||||
{'source': 'int_core__mtd_booking_metrics', 'order_by': 3, 'metric': 'Listings Booked in Month', 'value': 'listings_booked_in_month', 'previous_year_value': 'previous_year_listings_booked_in_month', 'relative_increment': 'relative_increment_listings_booked_in_month'},
|
"order_by": 1,
|
||||||
{'source': 'int_core__mtd_booking_metrics', 'order_by': 4, 'metric': 'Listings Booked in 6 Months', 'value': 'listings_booked_in_6_months', 'previous_year_value': 'previous_year_listings_booked_in_6_months', 'relative_increment': 'relative_increment_listings_booked_in_6_months'},
|
"metric": "Created Bookings",
|
||||||
{'source': 'int_core__mtd_booking_metrics', 'order_by': 5, 'metric': 'Listings Booked in 12 Months', 'value': 'listings_booked_in_12_months', 'previous_year_value': 'previous_year_listings_booked_in_12_months', 'relative_increment': 'relative_increment_listings_booked_in_12_months'},
|
"value": "created_bookings",
|
||||||
{'source': 'int_core__mtd_booking_metrics', 'order_by': 6, 'metric': 'Hosts Booked in Month', 'value': 'hosts_booked_in_month', 'previous_year_value': 'previous_year_hosts_booked_in_month', 'relative_increment': 'relative_increment_hosts_booked_in_month'},
|
"previous_year_value": "previous_year_created_bookings",
|
||||||
{'source': 'int_core__mtd_booking_metrics', 'order_by': 7, 'metric': 'Hosts Booked in 6 Months', 'value': 'hosts_booked_in_6_months', 'previous_year_value': 'previous_year_hosts_booked_in_6_months', 'relative_increment': 'relative_increment_hosts_booked_in_6_months'},
|
"relative_increment": "relative_increment_created_bookings",
|
||||||
{'source': 'int_core__mtd_booking_metrics', 'order_by': 8, 'metric': 'Hosts Booked in 12 Months', 'value': 'hosts_booked_in_12_months', 'previous_year_value': 'previous_year_hosts_booked_in_12_months', 'relative_increment': 'relative_increment_hosts_booked_in_12_months'},
|
"number_format": "integer",
|
||||||
{'source': 'int_core__mtd_guest_journey_metrics', 'order_by': 9, 'metric': 'Guest Journey Created', 'value': 'created_guest_journeys', 'previous_year_value': 'previous_year_created_guest_journeys', 'relative_increment': 'relative_increment_created_guest_journeys'},
|
},
|
||||||
{'source': 'int_core__mtd_guest_journey_metrics', 'order_by': 10, 'metric': 'Guest Journey Started', 'value': 'started_guest_journeys', 'previous_year_value': 'previous_year_started_guest_journeys', 'relative_increment': 'relative_increment_started_guest_journeys'},
|
{
|
||||||
{'source': 'int_core__mtd_guest_journey_metrics', 'order_by': 11, 'metric': 'Guest Journey Completed', 'value': 'completed_guest_journeys', 'previous_year_value': 'previous_year_completed_guest_journeys', 'relative_increment': 'relative_increment_completed_guest_journeys'},
|
"source": "int_core__mtd_booking_metrics",
|
||||||
{'source': 'int_core__mtd_guest_journey_metrics', 'order_by': 12, 'metric': 'Guest Journey Start Rate', 'value': 'start_rate_guest_journey', 'previous_year_value': 'previous_year_start_rate_guest_journey', 'relative_increment': 'relative_increment_start_rate_guest_journey'},
|
"order_by": 2,
|
||||||
{'source': 'int_core__mtd_guest_journey_metrics', 'order_by': 13, 'metric': 'Guest Journey Completion Rate', 'value': 'completion_rate_guest_journey', 'previous_year_value': 'previous_year_completion_rate_guest_journey', 'relative_increment': 'relative_increment_completion_rate_guest_journey'},
|
"metric": "Checkout Bookings",
|
||||||
{'source': 'int_core__mtd_guest_journey_metrics', 'order_by': 14, 'metric': 'Guest Journey Incompletion Rate', 'value': 'incompletion_rate_guest_journey', 'previous_year_value': 'previous_year_incompletion_rate_guest_journey', 'relative_increment': 'relative_increment_incompletion_rate_guest_journey'}
|
"value": "check_out_bookings",
|
||||||
|
"previous_year_value": "previous_year_check_out_bookings",
|
||||||
|
"relative_increment": "relative_increment_check_out_bookings",
|
||||||
|
"number_format": "integer",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"source": "int_core__mtd_booking_metrics",
|
||||||
|
"order_by": 3,
|
||||||
|
"metric": "Listings Booked in Month",
|
||||||
|
"value": "listings_booked_in_month",
|
||||||
|
"previous_year_value": "previous_year_listings_booked_in_month",
|
||||||
|
"relative_increment": "relative_increment_listings_booked_in_month",
|
||||||
|
"number_format": "integer",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"source": "int_core__mtd_booking_metrics",
|
||||||
|
"order_by": 4,
|
||||||
|
"metric": "Listings Booked in 6 Months",
|
||||||
|
"value": "listings_booked_in_6_months",
|
||||||
|
"previous_year_value": "previous_year_listings_booked_in_6_months",
|
||||||
|
"relative_increment": "relative_increment_listings_booked_in_6_months",
|
||||||
|
"number_format": "integer",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"source": "int_core__mtd_booking_metrics",
|
||||||
|
"order_by": 5,
|
||||||
|
"metric": "Listings Booked in 12 Months",
|
||||||
|
"value": "listings_booked_in_12_months",
|
||||||
|
"previous_year_value": "previous_year_listings_booked_in_12_months",
|
||||||
|
"relative_increment": "relative_increment_listings_booked_in_12_months",
|
||||||
|
"number_format": "integer",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"source": "int_core__mtd_booking_metrics",
|
||||||
|
"order_by": 6,
|
||||||
|
"metric": "Hosts Booked in Month",
|
||||||
|
"value": "hosts_booked_in_month",
|
||||||
|
"previous_year_value": "previous_year_hosts_booked_in_month",
|
||||||
|
"relative_increment": "relative_increment_hosts_booked_in_month",
|
||||||
|
"number_format": "integer",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"source": "int_core__mtd_booking_metrics",
|
||||||
|
"order_by": 7,
|
||||||
|
"metric": "Hosts Booked in 6 Months",
|
||||||
|
"value": "hosts_booked_in_6_months",
|
||||||
|
"previous_year_value": "previous_year_hosts_booked_in_6_months",
|
||||||
|
"relative_increment": "relative_increment_hosts_booked_in_6_months",
|
||||||
|
"number_format": "integer",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"source": "int_core__mtd_booking_metrics",
|
||||||
|
"order_by": 8,
|
||||||
|
"metric": "Hosts Booked in 12 Months",
|
||||||
|
"value": "hosts_booked_in_12_months",
|
||||||
|
"previous_year_value": "previous_year_hosts_booked_in_12_months",
|
||||||
|
"relative_increment": "relative_increment_hosts_booked_in_12_months",
|
||||||
|
"number_format": "integer",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"source": "int_core__mtd_guest_journey_metrics",
|
||||||
|
"order_by": 9,
|
||||||
|
"metric": "Guest Journey Created",
|
||||||
|
"value": "created_guest_journeys",
|
||||||
|
"previous_year_value": "previous_year_created_guest_journeys",
|
||||||
|
"relative_increment": "relative_increment_created_guest_journeys",
|
||||||
|
"number_format": "integer",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"source": "int_core__mtd_guest_journey_metrics",
|
||||||
|
"order_by": 10,
|
||||||
|
"metric": "Guest Journey Started",
|
||||||
|
"value": "started_guest_journeys",
|
||||||
|
"previous_year_value": "previous_year_started_guest_journeys",
|
||||||
|
"relative_increment": "relative_increment_started_guest_journeys",
|
||||||
|
"number_format": "integer",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"source": "int_core__mtd_guest_journey_metrics",
|
||||||
|
"order_by": 11,
|
||||||
|
"metric": "Guest Journey Completed",
|
||||||
|
"value": "completed_guest_journeys",
|
||||||
|
"previous_year_value": "previous_year_completed_guest_journeys",
|
||||||
|
"relative_increment": "relative_increment_completed_guest_journeys",
|
||||||
|
"number_format": "integer",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"source": "int_core__mtd_guest_journey_metrics",
|
||||||
|
"order_by": 12,
|
||||||
|
"metric": "Guest Journey Start Rate",
|
||||||
|
"value": "start_rate_guest_journey",
|
||||||
|
"previous_year_value": "previous_year_start_rate_guest_journey",
|
||||||
|
"relative_increment": "relative_increment_start_rate_guest_journey",
|
||||||
|
"number_format": "percentage",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"source": "int_core__mtd_guest_journey_metrics",
|
||||||
|
"order_by": 13,
|
||||||
|
"metric": "Guest Journey Completion Rate",
|
||||||
|
"value": "completion_rate_guest_journey",
|
||||||
|
"previous_year_value": "previous_year_completion_rate_guest_journey",
|
||||||
|
"relative_increment": "relative_increment_completion_rate_guest_journey",
|
||||||
|
"number_format": "percentage",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"source": "int_core__mtd_guest_journey_metrics",
|
||||||
|
"order_by": 14,
|
||||||
|
"metric": "Guest Journey Incompletion Rate",
|
||||||
|
"value": "incompletion_rate_guest_journey",
|
||||||
|
"previous_year_value": "previous_year_incompletion_rate_guest_journey",
|
||||||
|
"relative_increment": "relative_increment_incompletion_rate_guest_journey",
|
||||||
|
"number_format": "percentage",
|
||||||
|
},
|
||||||
] %}
|
] %}
|
||||||
with
|
with
|
||||||
int_core__mtd_booking_metrics as (
|
int_core__mtd_booking_metrics as (
|
||||||
select * from {{ ref("int_core__mtd_booking_metrics") }}
|
select * from {{ ref("int_core__mtd_booking_metrics") }}
|
||||||
),
|
),
|
||||||
int_core__mtd_guest_journey_metrics as (
|
int_core__mtd_guest_journey_metrics as (
|
||||||
select * from {{ ref("int_core__mtd_guest_journey_metrics") }}
|
select * from {{ ref("int_core__mtd_guest_journey_metrics") }}
|
||||||
)
|
)
|
||||||
{% for metric in metrics %}
|
{% for metric in metrics %}
|
||||||
select
|
select
|
||||||
year,
|
year,
|
||||||
month,
|
month,
|
||||||
day,
|
day,
|
||||||
is_end_of_month,
|
is_end_of_month,
|
||||||
is_current_month,
|
is_current_month,
|
||||||
date,
|
date,
|
||||||
previous_year_date,
|
previous_year_date,
|
||||||
{{ metric.order_by }} as order_by,
|
{{ metric.order_by }} as order_by,
|
||||||
'{{ metric.metric }}' as metric,
|
-- quotation marks added because text format
|
||||||
{{ metric.value }} as value,
|
'{{ metric.number_format }}' as number_format,
|
||||||
{{ metric.previous_year_value }} as previous_year_value,
|
'{{ metric.metric }}' as metric,
|
||||||
{{ metric.relative_increment }} as relative_increment
|
{{ metric.value }} as value,
|
||||||
from {{ metric.source }}
|
{{ metric.previous_year_value }} as previous_year_value,
|
||||||
{% if not loop.last %}union all{% endif %}
|
{{ metric.relative_increment }} as relative_increment
|
||||||
|
from {{ metric.source }}
|
||||||
|
{% if not loop.last %}
|
||||||
|
union all
|
||||||
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
|
||||||
|
|
@ -217,7 +217,20 @@ models:
|
||||||
description: name of the business metric.
|
description: name of the business metric.
|
||||||
tests:
|
tests:
|
||||||
- not_null
|
- not_null
|
||||||
|
|
||||||
|
- name: order_by
|
||||||
|
data_type: integer
|
||||||
|
description: |
|
||||||
|
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.
|
||||||
|
tests:
|
||||||
|
- accepted_values:
|
||||||
|
values: ['integer', 'percentage']
|
||||||
|
|
||||||
- name: value
|
- name: value
|
||||||
data_type: numeric
|
data_type: numeric
|
||||||
description: |
|
description: |
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@ select
|
||||||
date as date,
|
date as date,
|
||||||
previous_year_date as previous_year_date,
|
previous_year_date as previous_year_date,
|
||||||
order_by as order_by,
|
order_by as order_by,
|
||||||
|
number_format as number_format,
|
||||||
metric as metric,
|
metric as metric,
|
||||||
value as value,
|
value as value,
|
||||||
previous_year_value as previous_year_value,
|
previous_year_value as previous_year_value,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue