New stg model seasonal segments

This commit is contained in:
CIEF DataTeam
2023-08-17 07:08:05 +00:00
parent 4d5d88ac89
commit 4d4c6aceb7
2 changed files with 75 additions and 0 deletions
@@ -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