update assert_dimension_completeness test

This commit is contained in:
Joaquin 2024-11-05 16:45:59 +01:00
parent 4076f016bd
commit 0bffa5a862
2 changed files with 84 additions and 68 deletions

View file

@ -1,21 +1,35 @@
{% test assert_dimension_completeness(
model, column_name, metric_column_name, global_dimension_name="global"
model, column_name, metric_column_names, global_dimension_name="global"
) %}
with
sum_by_dimension as (
{% for metric_column_name in metric_column_names %}
sum_by_dimension_{{ metric_column_name }} as (
select {{ column_name }}, sum({{ metric_column_name }}) as sum_metric
from {{ model }}
group by {{ column_name }}
),
global_sum as (
global_sum_{{ metric_column_name }} as (
select sum({{ metric_column_name }}) as total_metric
from {{ model }}
where {{ column_name }} = '{{ global_dimension_name }}'
),
discrepancy_{{ metric_column_name }} as (
select *
from sum_by_dimension_{{ metric_column_name }}, global_sum_{{ metric_column_name }}
where sum_by_dimension_{{ metric_column_name }}.sum_metric != global_sum_{{ metric_column_name }}.total_metric
)
{% if not loop.last %}, {% endif %}
{% endfor %}
select *
from sum_by_dimension, global_sum
where sum_by_dimension.sum_metric != global_sum.total_metric
{% for metric_column_name in metric_column_names %}
{% if loop.first %}
select * from discrepancy_{{ metric_column_name }}
{% else %}
union all
select * from discrepancy_{{ metric_column_name }}
{% endif %}
{% endfor %}
{% endtest %}

View file

@ -513,7 +513,8 @@ models:
description: The dimension or granularity of the metrics.
tests:
- assert_dimension_completeness:
metric_column_name: created_bookings
metric_column_names:
- created_bookings
- accepted_values:
values:
- global
@ -567,7 +568,8 @@ models:
description: The dimension or granularity of the metrics.
tests:
- assert_dimension_completeness:
metric_column_name: created_bookings
metric_column_names:
- created_bookings
- accepted_values:
values:
- global
@ -817,7 +819,8 @@ models:
description: The dimension or granularity of the metrics.
tests:
- assert_dimension_completeness:
metric_column_name: created_guest_journeys
metric_column_names:
- created_guest_journeys
- accepted_values:
values:
- global
@ -870,7 +873,8 @@ models:
description: The dimension or granularity of the metrics.
tests:
- assert_dimension_completeness:
metric_column_name: created_guest_journeys
metric_column_names:
- created_guest_journeys
- accepted_values:
values:
- global
@ -1119,7 +1123,8 @@ models:
description: The dimension or granularity of the metrics.
tests:
- assert_dimension_completeness:
metric_column_name: started_guest_journeys
metric_column_names:
- started_guest_journeys
- accepted_values:
values:
- global
@ -1172,7 +1177,8 @@ models:
description: The dimension or granularity of the metrics.
tests:
- assert_dimension_completeness:
metric_column_name: started_guest_journeys
metric_column_names:
- started_guest_journeys
- accepted_values:
values:
- global
@ -1421,7 +1427,8 @@ models:
description: The dimension or granularity of the metrics.
tests:
- assert_dimension_completeness:
metric_column_name: completed_guest_journeys
metric_column_names:
- completed_guest_journeys
- accepted_values:
values:
- global
@ -1474,7 +1481,8 @@ models:
description: The dimension or granularity of the metrics.
tests:
- assert_dimension_completeness:
metric_column_name: completed_guest_journeys
metric_column_names:
- completed_guest_journeys
- accepted_values:
values:
- global
@ -1723,7 +1731,8 @@ models:
description: The dimension or granularity of the metrics.
tests:
- assert_dimension_completeness:
metric_column_name: guest_journeys_with_payment
metric_column_names:
- guest_journeys_with_payment
- accepted_values:
values:
- global
@ -1776,7 +1785,8 @@ models:
description: The dimension or granularity of the metrics.
tests:
- assert_dimension_completeness:
metric_column_name: guest_journeys_with_payment
metric_column_names:
- guest_journeys_with_payment
- accepted_values:
values:
- global
@ -2080,13 +2090,11 @@ models:
description: The dimension or granularity of the metrics.
tests:
- assert_dimension_completeness:
metric_column_name: deposit_fees_in_gbp
- assert_dimension_completeness:
metric_column_name: waiver_payments_in_gbp
- assert_dimension_completeness:
metric_column_name: checkin_cover_fees_in_gbp
- assert_dimension_completeness:
metric_column_name: total_guest_payments_in_gbp
metric_column_names:
- deposit_fees_in_gbp
- waiver_payments_in_gbp
- checkin_cover_fees_in_gbp
- total_guest_payments_in_gbp
- accepted_values:
values:
- global
@ -2159,13 +2167,11 @@ models:
description: The dimension or granularity of the metrics.
tests:
- assert_dimension_completeness:
metric_column_name: deposit_fees_in_gbp
- assert_dimension_completeness:
metric_column_name: waiver_payments_in_gbp
- assert_dimension_completeness:
metric_column_name: checkin_cover_fees_in_gbp
- assert_dimension_completeness:
metric_column_name: total_guest_payments_in_gbp
metric_column_names:
- deposit_fees_in_gbp
- waiver_payments_in_gbp
- checkin_cover_fees_in_gbp
- total_guest_payments_in_gbp
- accepted_values:
values:
- global
@ -2434,7 +2440,8 @@ models:
description: The dimension or granularity of the metrics.
tests:
- assert_dimension_completeness:
metric_column_name: check_out_bookings
metric_column_names:
- check_out_bookings
- accepted_values:
values:
- global
@ -2487,7 +2494,8 @@ models:
description: The dimension or granularity of the metrics.
tests:
- assert_dimension_completeness:
metric_column_name: check_out_bookings
metric_column_names:
- check_out_bookings
- accepted_values:
values:
- global
@ -2736,7 +2744,8 @@ models:
description: The dimension or granularity of the metrics.
tests:
- assert_dimension_completeness:
metric_column_name: billable_bookings
metric_column_names:
- billable_bookings
- accepted_values:
values:
- global
@ -2789,7 +2798,8 @@ models:
description: The dimension or granularity of the metrics.
tests:
- assert_dimension_completeness:
metric_column_name: billable_bookings
metric_column_names:
- billable_bookings
- accepted_values:
values:
- global
@ -3038,7 +3048,8 @@ models:
description: The dimension or granularity of the metrics.
tests:
- assert_dimension_completeness:
metric_column_name: cancelled_bookings
metric_column_names:
- cancelled_bookings
- accepted_values:
values:
- global
@ -3091,7 +3102,8 @@ models:
description: The dimension or granularity of the metrics.
tests:
- assert_dimension_completeness:
metric_column_name: cancelled_bookings
metric_column_names:
- cancelled_bookings
- accepted_values:
values:
- global
@ -3417,19 +3429,14 @@ models:
The dimension or granularity of the metrics.
tests:
- assert_dimension_completeness:
metric_column_name: created_guest_journeys_not_cancelled
- assert_dimension_completeness:
metric_column_name: started_guest_journeys_not_cancelled
- assert_dimension_completeness:
metric_column_name: completed_guest_journeys_not_cancelled
- assert_dimension_completeness:
metric_column_name: created_guest_journeys
- assert_dimension_completeness:
metric_column_name: started_guest_journeys
- assert_dimension_completeness:
metric_column_name: completed_guest_journeys
- assert_dimension_completeness:
metric_column_name: count_csat_score
metric_column_names:
- created_guest_journeys_not_cancelled
- started_guest_journeys_not_cancelled
- completed_guest_journeys_not_cancelled
- created_guest_journeys
- started_guest_journeys
- completed_guest_journeys
- count_csat_score
- accepted_values:
values:
- global
@ -3694,19 +3701,14 @@ models:
The dimension or granularity of the metrics.
tests:
- assert_dimension_completeness:
metric_column_name: created_guest_journeys_not_cancelled
- assert_dimension_completeness:
metric_column_name: started_guest_journeys_not_cancelled
- assert_dimension_completeness:
metric_column_name: completed_guest_journeys_not_cancelled
- assert_dimension_completeness:
metric_column_name: created_guest_journeys
- assert_dimension_completeness:
metric_column_name: started_guest_journeys
- assert_dimension_completeness:
metric_column_name: completed_guest_journeys
- assert_dimension_completeness:
metric_column_name: count_csat_score
metric_column_names:
- created_guest_journeys_not_cancelled
- started_guest_journeys_not_cancelled
- completed_guest_journeys_not_cancelled
- created_guest_journeys
- started_guest_journeys
- completed_guest_journeys
- count_csat_score
- accepted_values:
values:
- global
@ -4037,9 +4039,9 @@ models:
description: The dimension or granularity of the metrics.
tests:
- assert_dimension_completeness:
metric_column_name: xero_host_resolution_payment_count
- assert_dimension_completeness:
metric_column_name: xero_host_resolution_amount_paid_in_gbp
metric_column_names:
- xero_host_resolution_payment_count
- xero_host_resolution_amount_paid_in_gbp
- accepted_values:
values:
- global
@ -4099,9 +4101,9 @@ models:
description: The dimension or granularity of the metrics.
tests:
- assert_dimension_completeness:
metric_column_name: xero_host_resolution_payment_count
- assert_dimension_completeness:
metric_column_name: xero_host_resolution_amount_paid_in_gbp
metric_column_names:
- xero_host_resolution_payment_count
- xero_host_resolution_amount_paid_in_gbp
- accepted_values:
values:
- global