diff --git a/models/marts/reporting/rep_exchange__company_lists.sql b/models/marts/reporting/rep_exchange__company_lists.sql index 793ac3d..48ee800 100644 --- a/models/marts/reporting/rep_exchange__company_lists.sql +++ b/models/marts/reporting/rep_exchange__company_lists.sql @@ -1,47 +1,46 @@ --- AVAILALE FILTER VALUE +-- AVAILABLE FILTER VALUE -- Source:preset_custom_filter Column:day_use_to_churn {% set day_use_to_churn = 61 %} -- IMPORT WITH companies AS ( - SELECT * FROM {{ ref('dim_exchange__companies') }} + SELECT * FROM {{ ref('dim_exchange__companies') }} ), transaction_orders AS ( - SELECT * FROM {{ ref('fct_exchange__transaction_orders') }} + SELECT * FROM {{ ref('fct_exchange__daily_orders') }} ), -- LOGIC company_agg AS ( - SELECT - companies.company_id, - companies.is_migrated_company, - companies.company_marking_id, - companies.company_created_datetime, - COUNT(transaction_orders.transaction_order_id) AS count_order, - COUNT(IFF(transaction_orders.order_status = 'COMPLETED', transaction_orders.transaction_order_id, null)) AS count_completed_order, - MAX(transaction_orders.order_created_datetime) AS last_order_datetime, - COALESCE(last_order_datetime, company_created_datetime) AS last_activity_datetime, - IFF(companies.company_created_datetime < '2021-07-01', 1, 0) AS is_wrong_created_datetime_company, - IFF(MAX(transaction_orders.order_created_datetime) IS NULL, 1, 0) AS is_never_order_company, - IFF(DATEDIFF(day, last_activity_datetime, CURRENT_DATE()) >= {{day_use_to_churn}}, 1, 0 ) AS is_churn_company, - IFF( is_churn_company = 1, DATEDIFF(day, company_created_datetime, last_activity_datetime) + {{day_use_to_churn}}, NULL) AS create_to_churn_day, + SELECT + companies.company_id, + companies.is_migrated_company, + companies.company_marking_id, + companies.company_created_datetime, + COUNT(transaction_orders.order_id) AS count_order, + COUNT(IFF(transaction_orders.order_status = 'COMPLETED', transaction_orders.order_id, null)) AS count_completed_order, + MAX(transaction_orders.order_created_datetime) AS last_order_datetime, + COALESCE(last_order_datetime, company_created_datetime) AS last_activity_datetime, + IFF(companies.company_created_datetime < '2021-07-01', 1, 0) AS is_wrong_created_datetime_company, + IFF(MAX(transaction_orders.order_created_datetime) IS NULL, 1, 0) AS is_never_order_company, + IFF(DATEDIFF(day, last_activity_datetime, CURRENT_DATE()) >= {{day_use_to_churn}}, 1, 0 ) AS is_churn_company, + IFF( is_churn_company = 1, DATEDIFF(day, company_created_datetime, last_activity_datetime) + {{day_use_to_churn}}, NULL) AS create_to_churn_day, - '{{ modules.datetime.datetime.now(modules.pytz.timezone("Asia/Kuala_Lumpur")) }}' AS _dbt_ran_datetime + '{{ modules.datetime.datetime.now(modules.pytz.timezone("Asia/Kuala_Lumpur")) }}' AS _dbt_ran_datetime + + FROM companies - FROM - companies - - LEFT JOIN transaction_orders - ON (companies.company_id = transaction_orders.company_id) - - GROUP BY - companies.company_id, - companies.is_migrated_company, - companies.company_marking_id, - companies.company_created_datetime + LEFT JOIN transaction_orders + ON (companies.company_id = transaction_orders.company_id) + + GROUP BY + companies.company_id, + companies.is_migrated_company, + companies.company_marking_id, + companies.company_created_datetime ), -- FINAL @@ -62,7 +61,6 @@ final__rep_exchange__company_lists AS ( count_completed_order, create_to_churn_day, - -- date/times company_created_datetime, last_order_datetime, @@ -74,5 +72,4 @@ final__rep_exchange__company_lists AS ( FROM company_agg ) - SELECT * FROM final__rep_exchange__company_lists \ No newline at end of file