mirror of
https://gitlab.com/cief-data/dbt_cloud.git
synced 2026-08-19 04:14:00 +00:00
renamed to new service type
This commit is contained in:
@@ -6,9 +6,9 @@
|
|||||||
|
|
||||||
-- working days mapping for each service type
|
-- working days mapping for each service type
|
||||||
{% set service_type_working_day_mapping = {
|
{% set service_type_working_day_mapping = {
|
||||||
'1 DAY TRANSFER': 1,
|
'BANK TRANSFER (EXPRESS)': 1,
|
||||||
'1688 PAYMENT': 1,
|
'1688 PAYMENT': 1,
|
||||||
'3 DAYS TRANSFER': 3,
|
'BANK TRANSFER (SAVER)': 3,
|
||||||
'ENTERPRISE TO ENTERPRISE 公打公': 7
|
'ENTERPRISE TO ENTERPRISE 公打公': 7
|
||||||
} %}
|
} %}
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ WITH currency_exchange_rate_compilation AS (
|
|||||||
|
|
||||||
orders AS (
|
orders AS (
|
||||||
SELECT * FROM {{ ref('fct_exchange__transaction_orders') }}
|
SELECT * FROM {{ ref('fct_exchange__transaction_orders') }}
|
||||||
WHERE service_type NOT IN ('BA')
|
WHERE service_type NOT IN ('BA', 'RECEIVED-ON-BEHALF')
|
||||||
),
|
),
|
||||||
|
|
||||||
|
|
||||||
@@ -94,7 +94,7 @@ restructure_and_expand_table_cief_1688_vs_c2m_tbdf AS (
|
|||||||
|
|
||||||
),
|
),
|
||||||
|
|
||||||
restructure_and_expand_table_cief_1_day_transfer_vs_c2m_altr AS (
|
restructure_and_expand_table_cief_bank_transfer_express_vs_c2m_altr AS (
|
||||||
|
|
||||||
SELECT
|
SELECT
|
||||||
t1.provider,
|
t1.provider,
|
||||||
@@ -127,11 +127,11 @@ restructure_and_expand_table_cief_1_day_transfer_vs_c2m_altr AS (
|
|||||||
AND
|
AND
|
||||||
competitor_name IN ('C2M')
|
competitor_name IN ('C2M')
|
||||||
AND
|
AND
|
||||||
t1.service_type IN ('1 DAY TRANSFER')
|
t1.service_type IN ('BANK TRANSFER (EXPRESS)')
|
||||||
|
|
||||||
),
|
),
|
||||||
|
|
||||||
restructure_and_expand_table_cief_3_days_vs_sd AS (
|
restructure_and_expand_table_cief_bank_transfer_saver_vs_sd AS (
|
||||||
|
|
||||||
SELECT
|
SELECT
|
||||||
t1.provider,
|
t1.provider,
|
||||||
@@ -163,7 +163,7 @@ restructure_and_expand_table_cief_3_days_vs_sd AS (
|
|||||||
AND
|
AND
|
||||||
competitor_name IN ('SD')
|
competitor_name IN ('SD')
|
||||||
AND
|
AND
|
||||||
t1.service_type IN ('3 DAYS TRANSFER')
|
t1.service_type IN ('BANK TRANSFER (SAVER)')
|
||||||
|
|
||||||
),
|
),
|
||||||
|
|
||||||
@@ -173,9 +173,9 @@ union_expanded_tables AS (
|
|||||||
UNION ALL
|
UNION ALL
|
||||||
SELECT * FROM restructure_and_expand_table_cief_1688_vs_c2m_tbdf
|
SELECT * FROM restructure_and_expand_table_cief_1688_vs_c2m_tbdf
|
||||||
UNION ALL
|
UNION ALL
|
||||||
SELECT * FROM restructure_and_expand_table_cief_1_day_transfer_vs_c2m_altr
|
SELECT * FROM restructure_and_expand_table_cief_bank_transfer_express_vs_c2m_altr
|
||||||
UNION ALL
|
UNION ALL
|
||||||
SELECT * FROM restructure_and_expand_table_cief_3_days_vs_sd
|
SELECT * FROM restructure_and_expand_table_cief_bank_transfer_saver_vs_sd
|
||||||
|
|
||||||
),
|
),
|
||||||
|
|
||||||
|
|||||||
@@ -159,35 +159,35 @@ transaction_order_datetime_imputation AS (
|
|||||||
THEN COALESCE(order_completed_datetime, DATEADD(minute, 433, new_order_approved_datetime))
|
THEN COALESCE(order_completed_datetime, DATEADD(minute, 433, new_order_approved_datetime))
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Imputation for order_approved_datetime for 1 day transfer
|
Imputation for order_approved_datetime for BANK TRANSFER (EXPRESS)
|
||||||
- If payment_method is 'cash', add median of 59 minute to order_approved datetime
|
- If payment_method is 'cash', add median of 59 minute to order_approved datetime
|
||||||
- If payment_method is 'wallet', add median of 206 minute to order_approved datetime
|
- If payment_method is 'wallet', add median of 206 minute to order_approved datetime
|
||||||
- If payment_method is 'cheque', reuse order_completed datetime, all orders have completed datetime
|
- If payment_method is 'cheque', reuse order_completed datetime, all orders have completed datetime
|
||||||
- If payment_method is 'payment_gateway', add median of 214.5 minute to order_approved datetime
|
- If payment_method is 'payment_gateway', add median of 214.5 minute to order_approved datetime
|
||||||
*/
|
*/
|
||||||
WHEN order_created_datetime >= '2023-01-01' AND service_type = '1 DAY TRANSFER' AND payment_method = 'CASH'
|
WHEN order_created_datetime >= '2023-01-01' AND service_type = 'BANK TRANSFER (EXPRESS)' AND payment_method = 'CASH'
|
||||||
THEN COALESCE(order_completed_datetime, DATEADD(minute, 59, new_order_approved_datetime))
|
THEN COALESCE(order_completed_datetime, DATEADD(minute, 59, new_order_approved_datetime))
|
||||||
WHEN order_created_datetime >= '2023-01-01' AND service_type = '1 DAY TRANSFER' AND payment_method = 'WALLET'
|
WHEN order_created_datetime >= '2023-01-01' AND service_type = 'BANK TRANSFER (EXPRESS)' AND payment_method = 'WALLET'
|
||||||
THEN COALESCE(order_completed_datetime, DATEADD(minute, 206, new_order_approved_datetime))
|
THEN COALESCE(order_completed_datetime, DATEADD(minute, 206, new_order_approved_datetime))
|
||||||
WHEN order_created_datetime >= '2023-01-01' AND service_type = '1 DAY TRANSFER' AND payment_method = 'CHEQUE'
|
WHEN order_created_datetime >= '2023-01-01' AND service_type = 'BANK TRANSFER (EXPRESS)' AND payment_method = 'CHEQUE'
|
||||||
THEN order_completed_datetime
|
THEN order_completed_datetime
|
||||||
WHEN order_created_datetime >= '2023-01-01' AND service_type = '1 DAY TRANSFER' AND payment_method = 'PAYMENT_GATEWAY'
|
WHEN order_created_datetime >= '2023-01-01' AND service_type = 'BANK TRANSFER (EXPRESS)' AND payment_method = 'PAYMENT_GATEWAY'
|
||||||
THEN COALESCE(order_completed_datetime, DATEADD(minute, 214.5, new_order_approved_datetime))
|
THEN COALESCE(order_completed_datetime, DATEADD(minute, 214.5, new_order_approved_datetime))
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Imputation for order_approved_datetime for 3 days transfer
|
Imputation for order_approved_datetime for BANK TRANSFER (SAVER)
|
||||||
- If payment_method is 'cash', add median of 2702 minute to order_approved datetime
|
- If payment_method is 'cash', add median of 2702 minute to order_approved datetime
|
||||||
- If payment_method is 'wallet', add median of 4502.92 minute to order_approved datetime
|
- If payment_method is 'wallet', add median of 4502.92 minute to order_approved datetime
|
||||||
- If payment_method is 'cheque', reuse order_completed datetime, all orders have completed datetime
|
- If payment_method is 'cheque', reuse order_completed datetime, all orders have completed datetime
|
||||||
- If payment_method is 'payment_gateway', add median of 5253 minute to order_approved datetime
|
- If payment_method is 'payment_gateway', add median of 5253 minute to order_approved datetime
|
||||||
*/
|
*/
|
||||||
WHEN order_created_datetime >= '2023-01-01' AND service_type = '3 DAYS TRANSFER' AND payment_method = 'CASH'
|
WHEN order_created_datetime >= '2023-01-01' AND service_type = 'BANK TRANSFER (SAVER)' AND payment_method = 'CASH'
|
||||||
THEN COALESCE(order_completed_datetime, DATEADD(minute, 2702, new_order_approved_datetime))
|
THEN COALESCE(order_completed_datetime, DATEADD(minute, 2702, new_order_approved_datetime))
|
||||||
WHEN order_created_datetime >= '2023-01-01' AND service_type = '3 DAYS TRANSFER' AND payment_method = 'WALLET'
|
WHEN order_created_datetime >= '2023-01-01' AND service_type = 'BANK TRANSFER (SAVER)' AND payment_method = 'WALLET'
|
||||||
THEN COALESCE(order_completed_datetime, DATEADD(minute, 4502.92, new_order_approved_datetime))
|
THEN COALESCE(order_completed_datetime, DATEADD(minute, 4502.92, new_order_approved_datetime))
|
||||||
WHEN order_created_datetime >= '2023-01-01' AND service_type = '3 DAYS TRANSFER' AND payment_method = 'CHEQUE'
|
WHEN order_created_datetime >= '2023-01-01' AND service_type = 'BANK TRANSFER (SAVER)' AND payment_method = 'CHEQUE'
|
||||||
THEN order_completed_datetime
|
THEN order_completed_datetime
|
||||||
WHEN order_created_datetime >= '2023-01-01' AND service_type = '3 DAYS TRANSFER' AND payment_method = 'PAYMENT_GATEWAY'
|
WHEN order_created_datetime >= '2023-01-01' AND service_type = 'BANK TRANSFER (SAVER)' AND payment_method = 'PAYMENT_GATEWAY'
|
||||||
THEN COALESCE(order_completed_datetime, DATEADD(minute, 5253, new_order_approved_datetime))
|
THEN COALESCE(order_completed_datetime, DATEADD(minute, 5253, new_order_approved_datetime))
|
||||||
|
|
||||||
END AS new_order_completed_datetime
|
END AS new_order_completed_datetime
|
||||||
|
|||||||
Reference in New Issue
Block a user