From 4d4c6aceb7ba4fd2da6be904e2f5062e11c97059 Mon Sep 17 00:00:00 2001 From: CIEF DataTeam Date: Thu, 17 Aug 2023 07:08:05 +0000 Subject: [PATCH 1/2] New stg model seasonal segments --- .../stg_exchange__seasonal_segments.sql | 73 +++++++++++++++++++ ...hange__seasonal_segment_ab_test_groups.csv | 2 + 2 files changed, 75 insertions(+) create mode 100644 models/staging/exchange/stg_exchange__seasonal_segments.sql create mode 100644 seeds/exchange/seed_exchange__seasonal_segment_ab_test_groups.csv diff --git a/models/staging/exchange/stg_exchange__seasonal_segments.sql b/models/staging/exchange/stg_exchange__seasonal_segments.sql new file mode 100644 index 0000000..c5f32fb --- /dev/null +++ b/models/staging/exchange/stg_exchange__seasonal_segments.sql @@ -0,0 +1,73 @@ +-- IMPORT +WITH seasonal_segments AS ( + SELECT * FROM {{ ref('base_exchange__seasonal_segments') }} +), + +segments AS ( + SELECT * FROM {{ ref('base_exchange__segments') }} +), + +seasonal_segment_ab_test_groups AS ( + SELECT * FROM {{ ref('seed_exchange__seasonal_segment_ab_test_groups') }} +), + +status AS ( + SELECT * FROM {{ ref('seed_exchange__status') }} + WHERE category = 'DEFAULT' +), + +-- LOGIC +id_to_name AS ( + SELECT + seasonal_segments.seasonal_segment_id, + seasonal_segments.company_id, + COALESCE(segments.name, seasonal_segments.segment_id::string) AS segment_name, + COALESCE(status.name, seasonal_segments.status::string) AS status, + seasonal_segment_ab_test_groups.ab_test_group, + seasonal_segments.seasonal_segment_started_datetime, + seasonal_segments.seasonal_segment_ended_datetime, + seasonal_segments.seasonal_segment_deleted_datetime, + seasonal_segments.seasonal_segment_created_datetime, + seasonal_segments.seasonal_segment_updated_datetime, + '{{ modules.datetime.datetime.now(modules.pytz.timezone("Asia/Kuala_Lumpur")) }}' AS _dbt_ran_datetime + + FROM seasonal_segments + + LEFT JOIN segments + ON (seasonal_segments.segment_id = segments.segment_id) + + LEFT JOIN status + ON (seasonal_segments.status = status.id) + + LEFT JOIN seasonal_segment_ab_test_groups + ON (seasonal_segments.seasonal_segment_id = seasonal_segment_ab_test_groups.ab_test_group) +), + +-- FINAL +final__stg_exchange__seasonal_segments AS ( + SELECT + -- ids + seasonal_segment_id, + company_id, + + -- dimensions + segment_name, + status, + ab_test_group, + + -- measures + + -- date/times + seasonal_segment_started_datetime, + seasonal_segment_ended_datetime, + seasonal_segment_deleted_datetime, + seasonal_segment_created_datetime, + seasonal_segment_updated_datetime, + + -- metadata + _dbt_ran_datetime + + FROM id_to_name +) + +SELECT * FROM final__stg_exchange__seasonal_segments diff --git a/seeds/exchange/seed_exchange__seasonal_segment_ab_test_groups.csv b/seeds/exchange/seed_exchange__seasonal_segment_ab_test_groups.csv new file mode 100644 index 0000000..e524451 --- /dev/null +++ b/seeds/exchange/seed_exchange__seasonal_segment_ab_test_groups.csv @@ -0,0 +1,2 @@ +seasonal_segment_id, ab_test_group +null, null \ No newline at end of file From 21fdbe4d2edafc4f2cbf811dd8059f0e42ef9e37 Mon Sep 17 00:00:00 2001 From: Yam ZhengLim Date: Sun, 20 Aug 2023 13:59:00 +0000 Subject: [PATCH 2/2] Debug cause added a new status "EXPIRED" crash with the transaction order expired_datetime --- models/marts/warehouse/fct_exchange__transaction_orders.sql | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/models/marts/warehouse/fct_exchange__transaction_orders.sql b/models/marts/warehouse/fct_exchange__transaction_orders.sql index 4866782..a330699 100644 --- a/models/marts/warehouse/fct_exchange__transaction_orders.sql +++ b/models/marts/warehouse/fct_exchange__transaction_orders.sql @@ -44,7 +44,7 @@ transaction_orders_lists AS ( transaction_orders.base_to_quote_currency_exchange_rate, transaction_orders.payment_reference, transaction_orders.bill_number, - transaction_orders.expired_datetime AS order_expired_datetime, + transaction_orders.expired_datetime AS order_expected_expired_datetime, transaction_orders.base_value, transaction_orders.quote_value, @@ -138,7 +138,7 @@ final__fct_exchange__transaction_orders AS ( total_value_rm, -- date/times - order_expired_datetime, + order_expected_expired_datetime, order_deleted_datetime, order_updated_datetime, order_created_datetime, @@ -148,6 +148,7 @@ final__fct_exchange__transaction_orders AS ( order_completed_datetime, order_rejected_datetime, order_suspended_datetime, + order_expired_datetime, -- metadata _dbt_ran_datetime