mirror of
https://gitlab.com/cief-data/dbt_cloud.git
synced 2026-08-19 12:24:04 +00:00
replaced new fct orders table
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user