replaced new fct orders table

This commit is contained in:
CIEF ACC1
2023-08-23 08:13:57 +00:00
parent 991db604ff
commit 3824bbe56d
@@ -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