Skip to content

DBT Test: Reference Match Indonesia Wood Pulp V3 2 0 Supply Chain Ref Indonesia Wood Pulp V3 2 0 Spatial Entities Left Production Province Trase Id Trase Id Year

DBT test name: reference_match_indonesia_wood_pulp_v3_2_0_supply_chain_ref_indonesia_wood_pulp_v3_2_0_spatial_entities___left___production_province_trase_id_trase_id___year

DBT details


Description

No description


Details

{{ test_reference_match(**_dbt_generic_test_kwargs) }}{{ config(tags=['mock_model', 'indonesia', 'wood_pulp', 'indonesia_wood_pulp_v3_2_0_data_package'],alias="reference_match_indonesia_wood_9f9ae99da624bab9e9b9cb0e6ac7a33a") }}
    with unioned as (
        -- 2. Union distinct key combinations from both models
        -- Each row is tagged with its source ('model' or 'compare_to_model') to track its origin.

        -- Select distinct keys from the primary model
      select distinct

          production_province_trase_id as production_province_trase_id,

          year as year
        ,
        'model' as source_table
      from "memory"."main"."indonesia_wood_pulp_v3_2_0_supply_chain"


      union all

      -- Select distinct keys from the comparison model
      select distinct

          trase_id as production_province_trase_id,

          year as year
        ,
        'compare_to_model' as source_table
      from "memory"."main"."indonesia_wood_pulp_v3_2_0_spatial_entities"

    ),

    grouped as (
      -- 3. Group by the key columns to find unique occurrences
      -- Keys that appear only once (`occurrences = 1`) represent a mismatch between the models.
      select

          production_province_trase_id,

          year,

        count(*) as occurrences,
        min(source_table) as source_table -- If occurrences = 1, this reveals the single source table
      from unioned
      group by

          production_province_trase_id,

          year

    )

    -- 4. Select and classify the discrepancies based on the join_type
    -- The test fails if this query returns any rows.
    select

        production_province_trase_id,

        year,

      case
        when source_table = 'compare_to_model'
        then 'missing from model' -- The key was only in the reference model
        when source_table = 'model'
        then 'missing from reference' -- The key was only in the primary model
      end as error_type
    from grouped
    where occurrences = 1

        -- For a 'left' join test, we only care if rows from the main `model` are missing from `compare_to`.
        -- These are rows that appear only once and have `source_table = 'model'`.
      and source_table = 'model'