{% set min_date = "2022-01-01" %} {% set dimensions = ("global", "by_billing_country") %} -- "by_number_of_listings" excluded on purpose - there's differences because of daily -- segmentation with new_mtd_created_guest_journeys as ( select end_date as date, dimension, dimension_value, created_guest_journeys from {{ ref("int_kpis__aggregated_mtd_created_guest_journeys") }} where end_date >= '{{ min_date }}' and dimension in {{ dimensions }} and dimension_value <> 'UNSET' ), new_monthly_created_guest_journeys as ( select end_date as date, dimension, dimension_value, created_guest_journeys from {{ ref("int_kpis__aggregated_monthly_created_guest_journeys") }} where end_date >= '{{ min_date }}' and dimension in {{ dimensions }} and dimension_value <> 'UNSET' ), new_created_guest_journeys as ( select * from new_mtd_created_guest_journeys union all select * from new_monthly_created_guest_journeys ), old_created_guest_journeys as ( select date, dimension, dimension_value, created_guest_journeys from {{ ref("int_core__mtd_guest_journey_metrics") }} where date >= '{{ min_date }}' and dimension in {{ dimensions }} ), comparison as ( select coalesce(o.date, n.date) as date, coalesce(o.dimension, n.dimension) as dimension, coalesce(o.dimension_value, n.dimension_value) as dimension_value, o.created_guest_journeys as old_created_guest_journeys, n.created_guest_journeys as new_created_guest_journeys, coalesce(o.created_guest_journeys, 0) - coalesce(n.created_guest_journeys, 0) as diff from old_created_guest_journeys o full outer join new_created_guest_journeys n on o.date = n.date and o.dimension = n.dimension and o.dimension_value = n.dimension_value ) select * from comparison where diff <> 0 order by date desc, abs(diff) desc