From 32065fba659da5795ed35a9616f3631cd1cd6fd4 Mon Sep 17 00:00:00 2001 From: Pablo Martin Date: Mon, 4 Mar 2024 17:37:43 +0100 Subject: [PATCH] macro-out the staging model unioning --- .../stg_stripe__balance_transactions.sql | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/models/staging/stripe/stg_stripe__balance_transactions.sql b/models/staging/stripe/stg_stripe__balance_transactions.sql index a8350b9..7bf4287 100644 --- a/models/staging/stripe/stg_stripe__balance_transactions.sql +++ b/models/staging/stripe/stg_stripe__balance_transactions.sql @@ -1,10 +1,20 @@ with raw_balance_transactions as ( - select *, 'stripe_uk_account' as stripe_source_account - from {{ source("stripe_uk", "balance_transactions") }} - union all - select *, 'stripe_us_account' as stripe_source_account - from {{ source("stripe_us", "balance_transactions") }} + /* + This macro runs for every country code and: + - Reads from the right source (stripe_) + - Adds a column identifying the source account with a string like "stripe__account" + */ + {% set countries = ["us", "uk"] %} + + {% for country in countries %} + select *, 'stripe_{{ country }}_account' as stripe_source_account + from {{ source("stripe_" ~ country, "balance_transactions") }} + {% if not loop.last -%} + union all + {%- endif %} + {% endfor %} + ), stg_seed__currencies as (select * from {{ ref("stg_seed__currencies") }}), stg_stripe__balance_transactions as (