mirror of
https://gitlab.com/cief-data/dbt_cloud.git
synced 2026-08-19 04:14:00 +00:00
Shipping data model - company lists
This commit is contained in:
@@ -0,0 +1,96 @@
|
||||
-- AVAILABLE FILTER VALUE
|
||||
-- SOURCE: preset_custom_filter Column: day_use_to_churn
|
||||
{% set day_use_to_churn = 120 %}
|
||||
|
||||
-- IMPORT
|
||||
WITH companies AS (
|
||||
SELECT * FROM {{ ref('dim_shipping__companies') }}
|
||||
),
|
||||
|
||||
origin_warehouse_shipping_packing_lists AS (
|
||||
SELECT * FROM {{ ref('fct_shipping__origin_warehouse_shipping_packing_lists') }}
|
||||
),
|
||||
|
||||
|
||||
-- LOGIC
|
||||
company_agg AS (
|
||||
|
||||
SELECT
|
||||
companies.sub_company_id,
|
||||
companies.sub_company_marking_id,
|
||||
companies.is_migrated_company,
|
||||
companies.sub_company_created_datetime,
|
||||
|
||||
COUNT(origin_warehouse_shipping_packing_lists.origin_warehouse_shipping_packing_list_id) AS count_order,
|
||||
MAX(origin_warehouse_shipping_packing_lists.origin_warehouse_shipping_order_created_datetime) AS last_order_created_datetime,
|
||||
COALESCE(last_order_created_datetime, sub_company_created_datetime) AS last_activity_datetime,
|
||||
|
||||
COUNT(IFF(
|
||||
origin_warehouse_shipping_packing_lists.origin_warehouse_shipping_order_status IN ('APPROVED', 'COMPLETED'),
|
||||
origin_warehouse_shipping_packing_lists.origin_warehouse_shipping_packing_list_id,
|
||||
null
|
||||
)) AS count_approved_completed_order,
|
||||
|
||||
IFF(MAX(
|
||||
origin_warehouse_shipping_packing_lists.origin_warehouse_shipping_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, sub_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
|
||||
|
||||
FROM companies
|
||||
|
||||
LEFT JOIN origin_warehouse_shipping_packing_lists
|
||||
ON (companies.sub_company_id = origin_warehouse_shipping_packing_lists.sub_company_id)
|
||||
|
||||
GROUP BY
|
||||
companies.sub_company_id,
|
||||
companies.sub_company_marking_id,
|
||||
companies.is_migrated_company,
|
||||
companies.sub_company_created_datetime
|
||||
|
||||
),
|
||||
|
||||
|
||||
-- FINAL
|
||||
final__rep_shipping__company_lists AS (
|
||||
|
||||
SELECT
|
||||
-- id
|
||||
sub_company_id,
|
||||
sub_company_marking_id,
|
||||
|
||||
-- dimensions
|
||||
is_migrated_company,
|
||||
is_never_order_company,
|
||||
is_churn_company,
|
||||
|
||||
-- measures
|
||||
count_order,
|
||||
count_approved_completed_order,
|
||||
create_to_churn_day,
|
||||
|
||||
-- date/time
|
||||
sub_company_created_datetime,
|
||||
last_order_created_datetime,
|
||||
last_activity_datetime,
|
||||
|
||||
-- metadata
|
||||
_dbt_ran_datetime
|
||||
|
||||
FROM company_agg
|
||||
|
||||
)
|
||||
|
||||
SELECT * FROM final__rep_shipping__company_lists
|
||||
Reference in New Issue
Block a user