From 76b25ce7d95479957543ea34c814f836eea2de9f Mon Sep 17 00:00:00 2001 From: Diana Shalai Date: Wed, 24 Sep 2025 10:24:21 +0200 Subject: [PATCH 1/9] added dim table with ("referrer_source", "referrer_medium") --- models/80_marts/dim1_attribution.sql | 22 ++++++++++++++++++++++ models/80_marts/dim1_attribution.yml | 26 ++++++++++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 models/80_marts/dim1_attribution.sql create mode 100644 models/80_marts/dim1_attribution.yml diff --git a/models/80_marts/dim1_attribution.sql b/models/80_marts/dim1_attribution.sql new file mode 100644 index 0000000..f47958a --- /dev/null +++ b/models/80_marts/dim1_attribution.sql @@ -0,0 +1,22 @@ +with + base as ( + + select distinct referrer_source, referrer_medium + from {{ ref("int_segment__sessions") }} + + ), + + with_keys as ( + + select + {{ + dbt_utils.generate_surrogate_key( + ["referrer_source", "referrer_medium"] + ) + }} as channel_id, referrer_source, referrer_medium + from base + + ) + +select * +from with_keys diff --git a/models/80_marts/dim1_attribution.yml b/models/80_marts/dim1_attribution.yml new file mode 100644 index 0000000..109cfc3 --- /dev/null +++ b/models/80_marts/dim1_attribution.yml @@ -0,0 +1,26 @@ +version: 2 +models: + - name: dim1_attribution + description: Dimension table for channel grouping based on referrer source and medium. + columns: + - name: id + description: Surrogate key for the channel grouping, generated from referrer source + medium. + tests: + - not_null + - unique + config: + meta: {} + tags: [] + data_type: STRING + - name: referrer_source + description: Original referrer source (e.g., google, facebook, newsletter). + config: + meta: {} + tags: [] + data_type: STRING + - name: referrer_medium + description: Original referrer medium (e.g., cpc, email, referral, social). + config: + meta: {} + tags: [] + data_type: STRING From e7a6ccdeef072fd8b76b2a7730c220aab4bf018f Mon Sep 17 00:00:00 2001 From: Diana Shalai Date: Wed, 24 Sep 2025 10:26:17 +0200 Subject: [PATCH 2/9] rename id --- models/80_marts/dim1_attribution.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/80_marts/dim1_attribution.sql b/models/80_marts/dim1_attribution.sql index f47958a..8704da0 100644 --- a/models/80_marts/dim1_attribution.sql +++ b/models/80_marts/dim1_attribution.sql @@ -13,7 +13,7 @@ with dbt_utils.generate_surrogate_key( ["referrer_source", "referrer_medium"] ) - }} as channel_id, referrer_source, referrer_medium + }} as id, referrer_source, referrer_medium from base ) From df21e20883df0a1d97a669001ab4e413be2caa8e Mon Sep 17 00:00:00 2001 From: Diana Shalai Date: Wed, 24 Sep 2025 17:11:33 +0200 Subject: [PATCH 3/9] renamed FK, rebuilt dim attribution --- .../int_segment_web_sessions__initial.sql | 26 ++++++++++++++++++- .../int_segment_web_sessions__initial.yml | 6 +++++ models/80_marts/dim1_attribution.sql | 19 +++++--------- models/80_marts/fct_assets_locked.sql | 4 +-- models/80_marts/fct_assets_locked.yml | 4 +-- models/80_marts/fct_donated.sql | 2 +- models/80_marts/fct_donated.yml | 2 +- models/80_marts/fct_liquidation.sql | 2 +- models/80_marts/fct_liquidation.yml | 2 +- models/80_marts/fct_loans.sql | 2 +- models/80_marts/fct_loans.yml | 2 +- models/80_marts/fct_orders.sql | 4 +-- models/80_marts/fct_orders.yml | 4 +-- models/80_marts/fct_paid.sql | 3 ++- models/80_marts/fct_paid.yml | 2 +- models/80_marts/fct_sessions.sql | 4 +-- models/80_marts/fct_sessions.yml | 4 +-- 17 files changed, 59 insertions(+), 33 deletions(-) diff --git a/models/50_intermediate/segment/sessionization/int_segment_web_sessions__initial.sql b/models/50_intermediate/segment/sessionization/int_segment_web_sessions__initial.sql index 4ab6b66..8f5f9cb 100644 --- a/models/50_intermediate/segment/sessionization/int_segment_web_sessions__initial.sql +++ b/models/50_intermediate/segment/sessionization/int_segment_web_sessions__initial.sql @@ -149,6 +149,9 @@ with else 'referral' end as referrer_medium, case + when + t.utm_source is null and t.utm_medium is null and t.referrer is null + then 'direct' when t.utm_source is not null then lower(t.utm_source) when rm.map_source is not null and t.utm_source is null @@ -159,7 +162,28 @@ with from tiers as t left join referrer_mapping as rm on net.reg_domain(t.referrer) = rm.host_key + ), + + base as (select distinct referrer_source, referrer_medium from channel_group), + + attribution as ( + select + {{ + dbt_utils.generate_surrogate_key( + ["referrer_medium", "referrer_source"] + ) + }} as referrer_id, referrer_source, referrer_medium + from base + ), + + final as ( + select channel_group.*, attribution.referrer_id + from channel_group + left join + attribution + on channel_group.referrer_source = attribution.referrer_source + and channel_group.referrer_medium = attribution.referrer_medium ) select * -from channel_group +from final diff --git a/models/50_intermediate/segment/sessionization/int_segment_web_sessions__initial.yml b/models/50_intermediate/segment/sessionization/int_segment_web_sessions__initial.yml index 6d5f4fa..fb51224 100644 --- a/models/50_intermediate/segment/sessionization/int_segment_web_sessions__initial.yml +++ b/models/50_intermediate/segment/sessionization/int_segment_web_sessions__initial.yml @@ -356,3 +356,9 @@ models: config: meta: {} tags: [] + - name: referrer_id + description: Surrogate key for the channel grouping, generated from referrer source + medium. + config: + meta: {} + tags: [] + data_type: STRING \ No newline at end of file diff --git a/models/80_marts/dim1_attribution.sql b/models/80_marts/dim1_attribution.sql index 8704da0..a510f51 100644 --- a/models/80_marts/dim1_attribution.sql +++ b/models/80_marts/dim1_attribution.sql @@ -1,20 +1,15 @@ with - base as ( - - select distinct referrer_source, referrer_medium - from {{ ref("int_segment__sessions") }} - - ), + base as (select * from {{ ref("int_segment_web_sessions__initial") }}), with_keys as ( - select - {{ - dbt_utils.generate_surrogate_key( - ["referrer_source", "referrer_medium"] - ) - }} as id, referrer_source, referrer_medium + select referrer_id as id, referrer_source, referrer_medium from base + qualify + row_number() over ( + partition by referrer_source, referrer_medium order by referrer_id + ) + = 1 ) diff --git a/models/80_marts/fct_assets_locked.sql b/models/80_marts/fct_assets_locked.sql index 17e75a1..f9d2c28 100644 --- a/models/80_marts/fct_assets_locked.sql +++ b/models/80_marts/fct_assets_locked.sql @@ -6,9 +6,9 @@ with filtered_assets_locked as ( select sequence_number as id, - canonical_segment_id as fk_dim1__users, + canonical_segment_id as fk__dim1_users, transaction_hash as fk_transaction_hash, - token_id as fk_token_id, + token_id as fk__dim1_token, amount, token_usd_value, 1 as asset_locked_count, diff --git a/models/80_marts/fct_assets_locked.yml b/models/80_marts/fct_assets_locked.yml index 9026640..05d2dc8 100644 --- a/models/80_marts/fct_assets_locked.yml +++ b/models/80_marts/fct_assets_locked.yml @@ -12,7 +12,7 @@ models: meta: {} tags: [] description: Unique identifier for this price record - - name: fk_dim1__users + - name: fk__dim1_users data_type: STRING tests: - not_null @@ -29,7 +29,7 @@ models: meta: {} tags: [] description: Hash of the transaction that emitted this event. - - name: fk_token_adress + - name: fk__dim1_token data_type: STRING config: meta: {} diff --git a/models/80_marts/fct_donated.sql b/models/80_marts/fct_donated.sql index 3be6470..e05a33d 100644 --- a/models/80_marts/fct_donated.sql +++ b/models/80_marts/fct_donated.sql @@ -4,7 +4,7 @@ with filtered_donated as ( select transaction_hash as id, - canonical_segment_id as fk_dim1__users, + canonical_segment_id as fk__dim1_users, amount, 1 as donation_count, date(record_timestamp) as record_date, diff --git a/models/80_marts/fct_donated.yml b/models/80_marts/fct_donated.yml index c960d14..7a971be 100644 --- a/models/80_marts/fct_donated.yml +++ b/models/80_marts/fct_donated.yml @@ -12,7 +12,7 @@ models: meta: {} tags: [] description: Unique identifier for this donation record. - - name: fk_dim1__users + - name: fk__dim1_users data_type: STRING tests: - not_null diff --git a/models/80_marts/fct_liquidation.sql b/models/80_marts/fct_liquidation.sql index 462c476..f544f78 100644 --- a/models/80_marts/fct_liquidation.sql +++ b/models/80_marts/fct_liquidation.sql @@ -7,7 +7,7 @@ with select id, transaction_hash as fk_transaction_hash, - canonical_segment_id as fk_dim1__users, + canonical_segment_id as fk__dim1_users, coll_gas_compensation, gas_compensation, liquidated_principal, diff --git a/models/80_marts/fct_liquidation.yml b/models/80_marts/fct_liquidation.yml index 4db91a5..29d890a 100644 --- a/models/80_marts/fct_liquidation.yml +++ b/models/80_marts/fct_liquidation.yml @@ -18,7 +18,7 @@ models: meta: {} tags: [] description: Hash of the transaction that executed the liquidation. - - name: fk_dim1__users + - name: fk__dim1_users data_type: STRING tests: - not_null diff --git a/models/80_marts/fct_loans.sql b/models/80_marts/fct_loans.sql index e115744..521346f 100644 --- a/models/80_marts/fct_loans.sql +++ b/models/80_marts/fct_loans.sql @@ -6,7 +6,7 @@ with filtered_loan as ( select transaction_hash as id, - canonical_segment_id as fk_dim1__users, + canonical_segment_id as fk__dim1_users, collateral_usd_value, principal, interest, diff --git a/models/80_marts/fct_loans.yml b/models/80_marts/fct_loans.yml index 0353c42..06e0b75 100644 --- a/models/80_marts/fct_loans.yml +++ b/models/80_marts/fct_loans.yml @@ -12,7 +12,7 @@ models: meta: {} tags: [] description: Transaction hash as unique identifier for the loan record. - - name: fk_dim1__users + - name: fk__dim1_users data_type: STRING tests: - not_null diff --git a/models/80_marts/fct_orders.sql b/models/80_marts/fct_orders.sql index 4fa13f7..1563af5 100644 --- a/models/80_marts/fct_orders.sql +++ b/models/80_marts/fct_orders.sql @@ -4,9 +4,9 @@ with filtered_order as ( select order_id as id, - canonical_segment_id as fk_dim1__users, + canonical_segment_id as fk__dim1_users, transaction_hash as fk_transaction_hash, - product_id as fk_dim1__products, + product_id as fk__dim1_products, price, 1 as order_count, date(record_timestamp) as record_date diff --git a/models/80_marts/fct_orders.yml b/models/80_marts/fct_orders.yml index d909088..9fdee2f 100644 --- a/models/80_marts/fct_orders.yml +++ b/models/80_marts/fct_orders.yml @@ -12,7 +12,7 @@ models: meta: {} tags: [] description: Unique identifier for the order record. - - name: fk_dim1__users + - name: fk__dim1_users data_type: STRING tests: - not_null @@ -29,7 +29,7 @@ models: meta: {} tags: [] description: Hash of the transaction in which the order was placed. - - name: fk_dim1__products + - name: fk__dim1_products data_type: STRING config: meta: {} diff --git a/models/80_marts/fct_paid.sql b/models/80_marts/fct_paid.sql index fad6e5c..4069408 100644 --- a/models/80_marts/fct_paid.sql +++ b/models/80_marts/fct_paid.sql @@ -2,7 +2,8 @@ with all_paid as (select * from {{ ref("int_paid__all_paid") }}), fact as ( - select id, campaign_id as fk_campaign, spend, impressions, clicks from all_paid + select id, campaign_id as fk__dim1_campaign, spend, impressions, clicks + from all_paid ) select * diff --git a/models/80_marts/fct_paid.yml b/models/80_marts/fct_paid.yml index a205657..9c5e160 100644 --- a/models/80_marts/fct_paid.yml +++ b/models/80_marts/fct_paid.yml @@ -11,7 +11,7 @@ models: meta: {} tags: [] data_type: STRING - - name: fk_campaign + - name: fk__dim1_campaign description: The foreign key identifier for the campaign tests: - not_null diff --git a/models/80_marts/fct_sessions.sql b/models/80_marts/fct_sessions.sql index 5927e47..86efd04 100644 --- a/models/80_marts/fct_sessions.sql +++ b/models/80_marts/fct_sessions.sql @@ -4,9 +4,9 @@ with facts as ( select session_id as id, - canonical_segment_id_with_fallback as fk_dim1__users, + canonical_segment_id_with_fallback as fk__dim1_users, session_start_date as fk__dim1_date, - campaign_id as fk_campaign, + campaign_id as fk__dim1_campaign, landing_page_url_without_query_string as fk_landingpage__dim1_page, exit_page_url_without_query_string as fk_exitpage__dim1_page, {% for session_metric in var("session_metrics") %} diff --git a/models/80_marts/fct_sessions.yml b/models/80_marts/fct_sessions.yml index 16b076f..501507d 100644 --- a/models/80_marts/fct_sessions.yml +++ b/models/80_marts/fct_sessions.yml @@ -12,7 +12,7 @@ models: meta: {} tags: [] data_type: STRING - - name: fk_dim1__users + - name: fk__dim1_users data_type: STRING tests: - not_null @@ -29,7 +29,7 @@ models: tags: [] data_type: DATE description: '' - - name: fk_campaign + - name: fk__dim1_campaign description: Foreign key to the campaign dimension data_tests: - relationships: From 960cb8c8d0a2a581a087243fa54f5106f7146fdc Mon Sep 17 00:00:00 2001 From: Diana Shalai Date: Wed, 24 Sep 2025 17:16:34 +0200 Subject: [PATCH 4/9] fixed end of files. --- .../sessionization/int_segment_web_sessions__initial.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/50_intermediate/segment/sessionization/int_segment_web_sessions__initial.yml b/models/50_intermediate/segment/sessionization/int_segment_web_sessions__initial.yml index fb51224..1de32e9 100644 --- a/models/50_intermediate/segment/sessionization/int_segment_web_sessions__initial.yml +++ b/models/50_intermediate/segment/sessionization/int_segment_web_sessions__initial.yml @@ -361,4 +361,4 @@ models: config: meta: {} tags: [] - data_type: STRING \ No newline at end of file + data_type: STRING From 6658052a76edcca4cfbddb3b5a0a6f3cd593e741 Mon Sep 17 00:00:00 2001 From: Diana Shalai Date: Wed, 24 Sep 2025 17:47:28 +0200 Subject: [PATCH 5/9] fix --- .../segment/int_segment__sessions.sql | 13 ++++++++++- .../segment/int_segment__sessions.yml | 11 +++++++++ .../int_segment_web_sessions__initial.sql | 23 +------------------ .../int_segment_web_sessions__initial.yml | 6 ----- models/80_marts/dim1_attribution.sql | 2 +- models/80_marts/fct_sessions.sql | 1 + models/80_marts/fct_sessions.yml | 12 ++++++++++ 7 files changed, 38 insertions(+), 30 deletions(-) diff --git a/models/50_intermediate/segment/int_segment__sessions.sql b/models/50_intermediate/segment/int_segment__sessions.sql index 5e9e8b9..a957bbf 100644 --- a/models/50_intermediate/segment/int_segment__sessions.sql +++ b/models/50_intermediate/segment/int_segment__sessions.sql @@ -37,7 +37,18 @@ with on sessions_user_enriched.utm_campaign = twitter_campaigns.campaign_name and sessions_user_enriched.utm_source = 'twitter' and sessions_user_enriched.utm_medium = 'paid_social' + ), + + add_reffer_surrogate_key as ( + select + *, + {{ + dbt_utils.generate_surrogate_key( + ["referrer_medium", "referrer_source"] + ) + }} as referrer_id + from add_campaign_id_twitter ) select * -from add_campaign_id_twitter +from add_reffer_surrogate_key diff --git a/models/50_intermediate/segment/int_segment__sessions.yml b/models/50_intermediate/segment/int_segment__sessions.yml index 8fc94b5..151ac63 100644 --- a/models/50_intermediate/segment/int_segment__sessions.yml +++ b/models/50_intermediate/segment/int_segment__sessions.yml @@ -12,6 +12,9 @@ models: config: meta: {} tags: [] + data_tests: + - unique + - not_null description: Unique identifier for the session - name: anonymous_id data_type: string @@ -421,3 +424,11 @@ models: config: meta: {} tags: [] + - name: referrer_id + description: Surrogate key for the channel grouping, generated from referrer source + medium. + config: + meta: {} + tags: [] + data_type: STRING + data_tests: + - not_null \ No newline at end of file diff --git a/models/50_intermediate/segment/sessionization/int_segment_web_sessions__initial.sql b/models/50_intermediate/segment/sessionization/int_segment_web_sessions__initial.sql index 8f5f9cb..8dc5238 100644 --- a/models/50_intermediate/segment/sessionization/int_segment_web_sessions__initial.sql +++ b/models/50_intermediate/segment/sessionization/int_segment_web_sessions__initial.sql @@ -162,28 +162,7 @@ with from tiers as t left join referrer_mapping as rm on net.reg_domain(t.referrer) = rm.host_key - ), - - base as (select distinct referrer_source, referrer_medium from channel_group), - - attribution as ( - select - {{ - dbt_utils.generate_surrogate_key( - ["referrer_medium", "referrer_source"] - ) - }} as referrer_id, referrer_source, referrer_medium - from base - ), - - final as ( - select channel_group.*, attribution.referrer_id - from channel_group - left join - attribution - on channel_group.referrer_source = attribution.referrer_source - and channel_group.referrer_medium = attribution.referrer_medium ) select * -from final +from channel_group diff --git a/models/50_intermediate/segment/sessionization/int_segment_web_sessions__initial.yml b/models/50_intermediate/segment/sessionization/int_segment_web_sessions__initial.yml index 1de32e9..6d5f4fa 100644 --- a/models/50_intermediate/segment/sessionization/int_segment_web_sessions__initial.yml +++ b/models/50_intermediate/segment/sessionization/int_segment_web_sessions__initial.yml @@ -356,9 +356,3 @@ models: config: meta: {} tags: [] - - name: referrer_id - description: Surrogate key for the channel grouping, generated from referrer source + medium. - config: - meta: {} - tags: [] - data_type: STRING diff --git a/models/80_marts/dim1_attribution.sql b/models/80_marts/dim1_attribution.sql index a510f51..de7960e 100644 --- a/models/80_marts/dim1_attribution.sql +++ b/models/80_marts/dim1_attribution.sql @@ -1,5 +1,5 @@ with - base as (select * from {{ ref("int_segment_web_sessions__initial") }}), + base as (select * from {{ ref("int_segment__sessions") }}), with_keys as ( diff --git a/models/80_marts/fct_sessions.sql b/models/80_marts/fct_sessions.sql index 86efd04..1e772b1 100644 --- a/models/80_marts/fct_sessions.sql +++ b/models/80_marts/fct_sessions.sql @@ -9,6 +9,7 @@ with campaign_id as fk__dim1_campaign, landing_page_url_without_query_string as fk_landingpage__dim1_page, exit_page_url_without_query_string as fk_exitpage__dim1_page, + referrer_id as fk__dim1_attribution, {% for session_metric in var("session_metrics") %} {{ session_metric.metric_name }}{{ "," if not loop.last }} {% endfor %}, diff --git a/models/80_marts/fct_sessions.yml b/models/80_marts/fct_sessions.yml index c31aed2..971c266 100644 --- a/models/80_marts/fct_sessions.yml +++ b/models/80_marts/fct_sessions.yml @@ -51,6 +51,17 @@ models: meta: {} tags: [] data_type: STRING + - name: fk__dim1_attribution + description: Foreign key to the attribution dimension + tests: + - not_null + - relationships: + field: id + to: ref('fk__dim1_attribution') + config: + meta: {} + tags: [] + data_type: STRING - name: button_clicks description: Count of button click events in the session config: @@ -273,3 +284,4 @@ models: meta: {} tags: [] data_type: INT64 + From a2282315b9d2218a75f05e449fb133f423d01140 Mon Sep 17 00:00:00 2001 From: Diana Shalai Date: Wed, 24 Sep 2025 17:52:40 +0200 Subject: [PATCH 6/9] pre-commit fixes --- models/50_intermediate/segment/int_segment__sessions.yml | 2 +- models/80_marts/fct_sessions.yml | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/models/50_intermediate/segment/int_segment__sessions.yml b/models/50_intermediate/segment/int_segment__sessions.yml index 151ac63..fd60e68 100644 --- a/models/50_intermediate/segment/int_segment__sessions.yml +++ b/models/50_intermediate/segment/int_segment__sessions.yml @@ -431,4 +431,4 @@ models: tags: [] data_type: STRING data_tests: - - not_null \ No newline at end of file + - not_null diff --git a/models/80_marts/fct_sessions.yml b/models/80_marts/fct_sessions.yml index 971c266..4935fcf 100644 --- a/models/80_marts/fct_sessions.yml +++ b/models/80_marts/fct_sessions.yml @@ -61,7 +61,7 @@ models: config: meta: {} tags: [] - data_type: STRING + data_type: STRING - name: button_clicks description: Count of button click events in the session config: @@ -284,4 +284,3 @@ models: meta: {} tags: [] data_type: INT64 - From fb3c8bed149d2528703bd6855c93fb558cf3c060 Mon Sep 17 00:00:00 2001 From: Diana Shalai Date: Wed, 24 Sep 2025 18:02:17 +0200 Subject: [PATCH 7/9] none --- .../sessionization/int_segment_web_sessions__initial.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/models/50_intermediate/segment/sessionization/int_segment_web_sessions__initial.sql b/models/50_intermediate/segment/sessionization/int_segment_web_sessions__initial.sql index 8dc5238..e58fad3 100644 --- a/models/50_intermediate/segment/sessionization/int_segment_web_sessions__initial.sql +++ b/models/50_intermediate/segment/sessionization/int_segment_web_sessions__initial.sql @@ -133,7 +133,7 @@ with ), - channel_group as ( + channel_grouping as ( select t.*, case @@ -165,4 +165,4 @@ with ) select * -from channel_group +from channel_grouping From 9793025ca2bc8bd0a2e4a78f3761fb587c4dbacb Mon Sep 17 00:00:00 2001 From: Diana Shalai Date: Wed, 24 Sep 2025 18:06:08 +0200 Subject: [PATCH 8/9] none --- .../sessionization/int_segment_web_sessions__initial.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/models/50_intermediate/segment/sessionization/int_segment_web_sessions__initial.sql b/models/50_intermediate/segment/sessionization/int_segment_web_sessions__initial.sql index e58fad3..8dc5238 100644 --- a/models/50_intermediate/segment/sessionization/int_segment_web_sessions__initial.sql +++ b/models/50_intermediate/segment/sessionization/int_segment_web_sessions__initial.sql @@ -133,7 +133,7 @@ with ), - channel_grouping as ( + channel_group as ( select t.*, case @@ -165,4 +165,4 @@ with ) select * -from channel_grouping +from channel_group From 99813a8b7fcd30530ceb41a5789e3bb6dc355d80 Mon Sep 17 00:00:00 2001 From: Diana Shalai Date: Thu, 25 Sep 2025 09:23:41 +0200 Subject: [PATCH 9/9] fix --- models/80_marts/fct_sessions.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/80_marts/fct_sessions.yml b/models/80_marts/fct_sessions.yml index 4935fcf..e575fcc 100644 --- a/models/80_marts/fct_sessions.yml +++ b/models/80_marts/fct_sessions.yml @@ -57,7 +57,7 @@ models: - not_null - relationships: field: id - to: ref('fk__dim1_attribution') + to: ref('dim1_attribution') config: meta: {} tags: []