mirror of
https://gitlab.com/cief-data/dbt_cloud.git
synced 2026-08-19 04:14:00 +00:00
Refactored shipping dataset and fixed order created datetime from the right column.
This commit is contained in:
@@ -1,123 +0,0 @@
|
|||||||
-- IMPORT
|
|
||||||
WITH booking_addresses AS (
|
|
||||||
SELECT * FROM {{ ref('stg_shipping__booking_addresses') }}
|
|
||||||
),
|
|
||||||
|
|
||||||
|
|
||||||
-- LOGIC
|
|
||||||
booking_addresses_clean AS (
|
|
||||||
SELECT
|
|
||||||
*,
|
|
||||||
ROW_NUMBER() OVER (PARTITION BY booking_id, address_type ORDER BY created_datetime DESC) AS row_number_index
|
|
||||||
|
|
||||||
FROM booking_addresses
|
|
||||||
|
|
||||||
WHERE
|
|
||||||
deleted_datetime IS NULL
|
|
||||||
AND
|
|
||||||
status = 'APPROVED'
|
|
||||||
|
|
||||||
QUALIFY row_number_index = 1
|
|
||||||
),
|
|
||||||
|
|
||||||
group_by_booking_id AS (
|
|
||||||
SELECT
|
|
||||||
booking_id,
|
|
||||||
MAX(IFF(address_type = 'DELIVERY', booking_address_id, NULL)) AS delivery_booking_address_id,
|
|
||||||
MAX(IFF(address_type = 'DELIVERY', district_id, NULL)) AS delivery_address_district_id,
|
|
||||||
MAX(IFF(address_type = 'DELIVERY', state_id, NULL)) AS delivery_address_state_id,
|
|
||||||
MAX(IFF(address_type = 'DELIVERY', country_id, NULL)) AS delivery_address_country_id,
|
|
||||||
MAX(IFF(address_type = 'DELIVERY', address_reference, NULL)) AS delivery_address_reference,
|
|
||||||
MAX(IFF(address_type = 'DELIVERY', address_line_one, NULL)) AS delivery_address_line_one,
|
|
||||||
MAX(IFF(address_type = 'DELIVERY', address_line_two, NULL)) AS delivery_address_line_two,
|
|
||||||
MAX(IFF(address_type = 'DELIVERY', district_name, NULL)) AS delivery_address_district_name,
|
|
||||||
MAX(IFF(address_type = 'DELIVERY', state_name, NULL)) AS delivery_address_state_name,
|
|
||||||
MAX(IFF(address_type = 'DELIVERY', country_name, NULL)) AS delivery_address_country_name,
|
|
||||||
MAX(IFF(address_type = 'DELIVERY', postcode, NULL)) AS delivery_address_postcode,
|
|
||||||
MAX(IFF(address_type = 'DELIVERY', address_type, NULL)) AS delivery_address_type,
|
|
||||||
MAX(IFF(address_type = 'DELIVERY', is_default_address, NULL)) AS is_default_delivery_address,
|
|
||||||
MAX(IFF(address_type = 'DELIVERY', status, NULL)) AS delivery_address_status,
|
|
||||||
MAX(IFF(address_type = 'DELIVERY', deleted_datetime, NULL)) AS delivery_address_deleted_datetime,
|
|
||||||
MAX(IFF(address_type = 'DELIVERY', created_datetime, NULL)) AS delivery_address_created_datetime,
|
|
||||||
MAX(IFF(address_type = 'DELIVERY', updated_datetime, NULL)) AS delivery_address_updated_datetime,
|
|
||||||
|
|
||||||
MAX(IFF(address_type = 'BILLING', booking_address_id, NULL)) AS billing_booking_address_id,
|
|
||||||
MAX(IFF(address_type = 'BILLING', district_id, NULL)) AS billing_address_district_id,
|
|
||||||
MAX(IFF(address_type = 'BILLING', state_id, NULL)) AS billing_address_state_id,
|
|
||||||
MAX(IFF(address_type = 'BILLING', country_id, NULL)) AS billing_address_country_id,
|
|
||||||
MAX(IFF(address_type = 'BILLING', address_reference, NULL)) AS billing_address_reference,
|
|
||||||
MAX(IFF(address_type = 'BILLING', address_line_one, NULL)) AS billing_address_line_one,
|
|
||||||
MAX(IFF(address_type = 'BILLING', address_line_two, NULL)) AS billing_address_line_two,
|
|
||||||
MAX(IFF(address_type = 'BILLING', district_name, NULL)) AS billing_address_district_name,
|
|
||||||
MAX(IFF(address_type = 'BILLING', state_name, NULL)) AS billing_address_state_name,
|
|
||||||
MAX(IFF(address_type = 'BILLING', country_name, NULL)) AS billing_address_country_name,
|
|
||||||
MAX(IFF(address_type = 'BILLING', postcode, NULL)) AS billing_address_postcode,
|
|
||||||
MAX(IFF(address_type = 'BILLING', address_type, NULL)) AS billing_address_type,
|
|
||||||
MAX(IFF(address_type = 'BILLING', is_default_address, NULL)) AS is_default_billing_address,
|
|
||||||
MAX(IFF(address_type = 'BILLING', status, NULL)) AS billing_address_status,
|
|
||||||
MAX(IFF(address_type = 'BILLING', deleted_datetime, NULL)) AS billing_address_deleted_datetime,
|
|
||||||
MAX(IFF(address_type = 'BILLING', created_datetime, NULL)) AS billing_address_created_datetime,
|
|
||||||
MAX(IFF(address_type = 'BILLING', updated_datetime, NULL)) AS billing_address_updated_datetime,
|
|
||||||
|
|
||||||
'{{ modules.datetime.datetime.now(modules.pytz.timezone("Asia/Kuala_Lumpur")) }}' AS _dbt_ran_datetime
|
|
||||||
|
|
||||||
FROM booking_addresses_clean
|
|
||||||
|
|
||||||
GROUP BY
|
|
||||||
booking_id
|
|
||||||
),
|
|
||||||
|
|
||||||
|
|
||||||
-- FINAL
|
|
||||||
final__int_shipping__booking_delivery_and_billing_addresses AS (
|
|
||||||
SELECT
|
|
||||||
-- ids
|
|
||||||
booking_id,
|
|
||||||
delivery_booking_address_id,
|
|
||||||
delivery_address_district_id,
|
|
||||||
delivery_address_state_id,
|
|
||||||
delivery_address_country_id,
|
|
||||||
billing_booking_address_id,
|
|
||||||
billing_address_district_id,
|
|
||||||
billing_address_state_id,
|
|
||||||
billing_address_country_id,
|
|
||||||
|
|
||||||
-- dimensions
|
|
||||||
delivery_address_reference,
|
|
||||||
delivery_address_line_one,
|
|
||||||
delivery_address_line_two,
|
|
||||||
delivery_address_district_name,
|
|
||||||
delivery_address_state_name,
|
|
||||||
delivery_address_country_name,
|
|
||||||
delivery_address_postcode,
|
|
||||||
delivery_address_type,
|
|
||||||
is_default_delivery_address,
|
|
||||||
delivery_address_status,
|
|
||||||
billing_address_reference,
|
|
||||||
billing_address_line_one,
|
|
||||||
billing_address_line_two,
|
|
||||||
billing_address_district_name,
|
|
||||||
billing_address_state_name,
|
|
||||||
billing_address_country_name,
|
|
||||||
billing_address_postcode,
|
|
||||||
billing_address_type,
|
|
||||||
is_default_billing_address,
|
|
||||||
billing_address_status,
|
|
||||||
|
|
||||||
-- measures
|
|
||||||
|
|
||||||
-- date/times
|
|
||||||
delivery_address_deleted_datetime,
|
|
||||||
delivery_address_created_datetime,
|
|
||||||
delivery_address_updated_datetime,
|
|
||||||
billing_address_deleted_datetime,
|
|
||||||
billing_address_created_datetime,
|
|
||||||
billing_address_updated_datetime,
|
|
||||||
|
|
||||||
-- metadata
|
|
||||||
_dbt_ran_datetime
|
|
||||||
|
|
||||||
FROM group_by_booking_id
|
|
||||||
)
|
|
||||||
|
|
||||||
SELECT * FROM final__int_shipping__booking_delivery_and_billing_addresses
|
|
||||||
-122
@@ -1,122 +0,0 @@
|
|||||||
-- IMPORT
|
|
||||||
WITH warehouse_shipping_packing_lists AS (
|
|
||||||
SELECT * FROM {{ ref('stg_shipping__warehouse_shipping_packing_lists') }}
|
|
||||||
),
|
|
||||||
|
|
||||||
packing_list_transport_arrangments AS (
|
|
||||||
SELECT * FROM {{ ref('stg_shipping__packing_list_transport_arrangments') }}
|
|
||||||
),
|
|
||||||
|
|
||||||
|
|
||||||
-- LOGIC
|
|
||||||
warehouse_shipping_join_transport_arrangements AS (
|
|
||||||
|
|
||||||
SELECT
|
|
||||||
warehouse_shipping_packing_lists.new_warehouse_shipping_packing_list_id,
|
|
||||||
warehouse_shipping_packing_lists.old_warehouse_shipping_packing_list_id,
|
|
||||||
warehouse_shipping_packing_lists.warehouse_order_number,
|
|
||||||
warehouse_shipping_packing_lists.booking_id,
|
|
||||||
warehouse_shipping_packing_lists.warehouse_sub_company_id,
|
|
||||||
warehouse_shipping_packing_lists.has_replaced_by_new_id,
|
|
||||||
warehouse_shipping_packing_lists.packing_list_type,
|
|
||||||
warehouse_shipping_packing_lists.reference_contract AS destination_warehouse_reference_contract,
|
|
||||||
warehouse_shipping_packing_lists.status AS destination_warehouse_shipping_status,
|
|
||||||
warehouse_shipping_packing_lists.deleted_datetime AS destination_warehouse_shipping_deleted_datetime,
|
|
||||||
|
|
||||||
packing_list_transport_arrangments.transport_arrangement_id AS destination_warehouse_transport_arrangement_id,
|
|
||||||
packing_list_transport_arrangments.transport_mode AS destination_warehouse_transport_transport_mode,
|
|
||||||
packing_list_transport_arrangments.courier AS destination_warehouse_transport_courier,
|
|
||||||
packing_list_transport_arrangments.tracking_number AS destination_warehouse_transport_tracking_number,
|
|
||||||
packing_list_transport_arrangments.status AS destination_warehouse_transport_status,
|
|
||||||
packing_list_transport_arrangments.number_of_etd_datetime_postpone AS destination_warehouse_transport_number_of_etd_datetime_postpone,
|
|
||||||
packing_list_transport_arrangments.number_of_eta_datetime_postpone AS destination_warehouse_transport_number_of_eta_datetime_postpone,
|
|
||||||
packing_list_transport_arrangments.dispatched_datetime AS destination_warehouse_transport_dispatched_datetime,
|
|
||||||
packing_list_transport_arrangments.droped_datetime AS destination_warehouse_transport_droped_datetime,
|
|
||||||
packing_list_transport_arrangments.etd_datetimes AS destination_warehouse_transport_etd_datetimes,
|
|
||||||
packing_list_transport_arrangments.first_etd_datetime AS destination_warehouse_transport_first_etd_datetime,
|
|
||||||
packing_list_transport_arrangments.last_etd_datetime AS destination_warehouse_transport_last_etd_datetime,
|
|
||||||
packing_list_transport_arrangments.eta_datetimes AS destination_warehouse_transport_eta_datetimes,
|
|
||||||
packing_list_transport_arrangments.first_eta_datetime AS destination_warehouse_transport_first_eta_datetime,
|
|
||||||
packing_list_transport_arrangments.last_eta_datetime AS destination_warehouse_transport_last_eta_datetime,
|
|
||||||
packing_list_transport_arrangments.first_estimate_schedule_created_datetime AS destination_warehouse_transport_first_estimate_schedule_created_datetime,
|
|
||||||
packing_list_transport_arrangments.last_estimate_schedule_created_datetime AS destination_warehouse_transport_last_estimate_schedule_created_datetime,
|
|
||||||
packing_list_transport_arrangments.created_datetime AS destination_warehouse_transport_created_datetime,
|
|
||||||
packing_list_transport_arrangments.updated_datetime AS destination_warehouse_transport_updated_datetime
|
|
||||||
|
|
||||||
FROM warehouse_shipping_packing_lists
|
|
||||||
|
|
||||||
LEFT JOIN packing_list_transport_arrangments
|
|
||||||
ON (
|
|
||||||
warehouse_shipping_packing_lists.old_origin_warehouse_shipping_packing_list_id = packing_list_transport_arrangments.packing_list_id
|
|
||||||
OR
|
|
||||||
warehouse_shipping_packing_lists.new_origin_warehouse_shipping_packing_list_id = packing_list_transport_arrangments.packing_list_id
|
|
||||||
)
|
|
||||||
|
|
||||||
),
|
|
||||||
|
|
||||||
get_lastest_created_row_only AS ( --Because the dataset not accurate, many duplicate withough deleted all those duplicate row
|
|
||||||
|
|
||||||
SELECT
|
|
||||||
*,
|
|
||||||
ROW_NUMBER() OVER (PARTITION BY old_origin_warehouse_shipping_packing_list_id ORDER BY destination_warehouse_transport_created_datetime DESC) AS row_number_index,
|
|
||||||
|
|
||||||
'{{ modules.datetime.datetime.now(modules.pytz.timezone("Asia/Kuala_Lumpur")) }}' AS _dbt_ran_datetime
|
|
||||||
|
|
||||||
FROM warehouse_shipping_join_transport_arrangements
|
|
||||||
|
|
||||||
QUALIFY
|
|
||||||
row_number_index = 1
|
|
||||||
|
|
||||||
),
|
|
||||||
|
|
||||||
|
|
||||||
-- FINAL
|
|
||||||
final__int_shipping__destination_warehouse_last_mile_transport_arrangements AS (
|
|
||||||
|
|
||||||
SELECT
|
|
||||||
-- ids
|
|
||||||
new_origin_warehouse_shipping_packing_list_id,
|
|
||||||
old_origin_warehouse_shipping_packing_list_id,
|
|
||||||
destination_warehouse_transport_arrangement_id,
|
|
||||||
destination_warehouse_transport_arrangement_id,
|
|
||||||
booking_id,
|
|
||||||
warehouse_sub_company_id,
|
|
||||||
warehouse_order_number,
|
|
||||||
|
|
||||||
-- dimensions
|
|
||||||
has_replaced_by_new_id,
|
|
||||||
reference_contract,
|
|
||||||
packing_list_type,
|
|
||||||
destination_warehouse_shipping_status,
|
|
||||||
destination_warehouse_transport_transport_mode,
|
|
||||||
destination_warehouse_transport_courier,
|
|
||||||
destination_warehouse_transport_tracking_number,
|
|
||||||
destination_warehouse_transport_status,
|
|
||||||
|
|
||||||
-- measures
|
|
||||||
destination_warehouse_transport_number_of_etd_datetime_postpone,
|
|
||||||
destination_warehouse_transport_number_of_eta_datetime_postpone,
|
|
||||||
|
|
||||||
-- date/times
|
|
||||||
destination_warehouse_transport_dispatched_datetime,
|
|
||||||
destination_warehouse_transport_droped_datetime,
|
|
||||||
destination_warehouse_transport_etd_datetimes,
|
|
||||||
destination_warehouse_transport_first_etd_datetime,
|
|
||||||
destination_warehouse_transport_last_etd_datetime,
|
|
||||||
destination_warehouse_transport_eta_datetimes,
|
|
||||||
destination_warehouse_transport_first_eta_datetime,
|
|
||||||
destination_warehouse_transport_last_eta_datetime,
|
|
||||||
destination_warehouse_transport_first_estimate_schedule_created_datetime,
|
|
||||||
destination_warehouse_transport_last_estimate_schedule_created_datetime,
|
|
||||||
destination_warehouse_transport_created_datetime,
|
|
||||||
destination_warehouse_transport_updated_datetime,
|
|
||||||
|
|
||||||
-- metadata
|
|
||||||
_dbt_ran_datetime
|
|
||||||
|
|
||||||
FROM get_lastest_created_row_only
|
|
||||||
|
|
||||||
)
|
|
||||||
|
|
||||||
SELECT * FROM final__int_shipping__destination_warehouse_last_mile_transport_arrangements
|
|
||||||
-- Missing information on last mile delivery due to supplier not giving info.
|
|
||||||
@@ -0,0 +1,100 @@
|
|||||||
|
-- IMPORT
|
||||||
|
WITH origin_warehouse_receive_packing_lists AS (
|
||||||
|
SELECT * FROM {{ ref('stg_shipping__origin_warehouse_receive_packing_lists') }}
|
||||||
|
),
|
||||||
|
|
||||||
|
packing_list_transport_arrangments AS (
|
||||||
|
SELECT * FROM {{ ref('stg_shipping__packing_list_transport_arrangments') }}
|
||||||
|
),
|
||||||
|
|
||||||
|
|
||||||
|
-- LOGIC
|
||||||
|
origin_factory_packing_list_join_transport_arrangments AS (
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
origin_warehouse_receive_packing_lists.new_origin_warehouse_receive_packing_list_id AS new_first_mile_packing_list_id,
|
||||||
|
origin_warehouse_receive_packing_lists.old_origin_warehouse_receive_packing_list_id AS old_first_mile_packing_list_id,
|
||||||
|
origin_warehouse_receive_packing_lists.warehouse_order_number AS first_mile_warehouse_order_number,
|
||||||
|
origin_warehouse_receive_packing_lists.booking_id AS first_mile_booking_id,
|
||||||
|
origin_warehouse_receive_packing_lists.warehouse_sub_company_id AS first_mile_warehouse_sub_company_id,
|
||||||
|
origin_warehouse_receive_packing_lists.has_replaced_by_new_id AS first_mile_has_replaced_by_new_id,
|
||||||
|
origin_warehouse_receive_packing_lists.reference_contract AS first_mile_reference_contract,
|
||||||
|
origin_warehouse_receive_packing_lists.status AS first_mile_receive_status,
|
||||||
|
|
||||||
|
packing_list_transport_arrangments.transport_arrangement_id AS first_mile_transport_arrangement_id,
|
||||||
|
packing_list_transport_arrangments.transport_mode AS first_mile_transport_mode,
|
||||||
|
packing_list_transport_arrangments.courier AS first_mile_transport_courier,
|
||||||
|
packing_list_transport_arrangments.tracking_number AS first_mile_transport_tracking_number,
|
||||||
|
packing_list_transport_arrangments.status AS first_mile_transport_status,
|
||||||
|
packing_list_transport_arrangments.number_of_etd_datetime_postpone AS first_mile_transport_number_of_etd_datetime_postpone,
|
||||||
|
packing_list_transport_arrangments.number_of_eta_datetime_postpone AS first_mile_transport_number_of_eta_datetime_postpone,
|
||||||
|
packing_list_transport_arrangments.dispatched_datetime AS first_mile_dispatched_datetime,
|
||||||
|
packing_list_transport_arrangments.droped_datetime AS first_mile_received_datetime,
|
||||||
|
packing_list_transport_arrangments.etd_datetimes AS first_mile_transport_etd_datetimes,
|
||||||
|
packing_list_transport_arrangments.first_etd_datetime AS first_mile_transport_first_etd_datetime,
|
||||||
|
packing_list_transport_arrangments.last_etd_datetime AS first_mile_transport_last_etd_datetime,
|
||||||
|
packing_list_transport_arrangments.eta_datetimes AS first_mile_transport_eta_datetimes,
|
||||||
|
packing_list_transport_arrangments.first_eta_datetime AS first_mile_transport_first_eta_datetime,
|
||||||
|
packing_list_transport_arrangments.last_eta_datetime AS first_mile_transport_last_eta_datetime,
|
||||||
|
packing_list_transport_arrangments.first_estimate_schedule_created_datetime AS first_mile_transport_first_estimate_schedule_created_datetime,
|
||||||
|
packing_list_transport_arrangments.last_estimate_schedule_created_datetime AS first_mile_transport_last_estimate_schedule_created_datetime,
|
||||||
|
packing_list_transport_arrangments.created_datetime AS first_mile_transport_created_datetime,
|
||||||
|
packing_list_transport_arrangments.updated_datetime AS first_mile_transport_updated_datetime,
|
||||||
|
|
||||||
|
'{{ modules.datetime.datetime.now(modules.pytz.timezone("Asia/Kuala_Lumpur")) }}' AS _dbt_ran_datetime
|
||||||
|
|
||||||
|
FROM origin_warehouse_receive_packing_lists
|
||||||
|
|
||||||
|
LEFT JOIN packing_list_transport_arrangments
|
||||||
|
ON (origin_warehouse_receive_packing_lists.old_origin_warehouse_receive_packing_list_id = packing_list_transport_arrangments.packing_list_id)
|
||||||
|
|
||||||
|
),
|
||||||
|
|
||||||
|
|
||||||
|
-- FINAL
|
||||||
|
final__int_shipping__first_mile_transport_arrangements AS (
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
-- ids
|
||||||
|
new_first_mile_packing_list_id,
|
||||||
|
old_first_mile_packing_list_id,
|
||||||
|
first_mile_transport_arrangement_id,
|
||||||
|
first_mile_booking_id,
|
||||||
|
first_mile_warehouse_order_number,
|
||||||
|
first_mile_warehouse_sub_company_id,
|
||||||
|
|
||||||
|
-- dimensions
|
||||||
|
first_mile_has_replaced_by_new_id,
|
||||||
|
first_mile_reference_contract,
|
||||||
|
first_mile_transport_mode,
|
||||||
|
first_mile_transport_courier,
|
||||||
|
first_mile_transport_tracking_number,
|
||||||
|
first_mile_transport_status,
|
||||||
|
first_mile_receive_status,
|
||||||
|
|
||||||
|
-- measures
|
||||||
|
first_mile_transport_number_of_etd_datetime_postpone,
|
||||||
|
first_mile_transport_number_of_eta_datetime_postpone,
|
||||||
|
|
||||||
|
-- date/times
|
||||||
|
first_mile_dispatched_datetime,
|
||||||
|
first_mile_received_datetime,
|
||||||
|
first_mile_transport_etd_datetimes,
|
||||||
|
first_mile_transport_first_etd_datetime,
|
||||||
|
first_mile_transport_last_etd_datetime,
|
||||||
|
first_mile_transport_eta_datetimes,
|
||||||
|
first_mile_transport_first_eta_datetime,
|
||||||
|
first_mile_transport_last_eta_datetime,
|
||||||
|
first_mile_transport_first_estimate_schedule_created_datetime,
|
||||||
|
first_mile_transport_last_estimate_schedule_created_datetime,
|
||||||
|
first_mile_transport_created_datetime,
|
||||||
|
first_mile_transport_updated_datetime,
|
||||||
|
|
||||||
|
-- metadata
|
||||||
|
_dbt_ran_datetime
|
||||||
|
|
||||||
|
FROM origin_factory_packing_list_join_transport_arrangments
|
||||||
|
|
||||||
|
)
|
||||||
|
|
||||||
|
SELECT * FROM final__int_shipping__first_mile_transport_arrangements
|
||||||
@@ -0,0 +1,120 @@
|
|||||||
|
-- IMPORT
|
||||||
|
WITH warehouse_shipping_packing_lists AS (
|
||||||
|
SELECT * FROM {{ ref('stg_shipping__warehouse_shipping_packing_lists') }}
|
||||||
|
),
|
||||||
|
|
||||||
|
packing_list_transport_arrangments AS (
|
||||||
|
SELECT * FROM {{ ref('stg_shipping__packing_list_transport_arrangments') }}
|
||||||
|
),
|
||||||
|
|
||||||
|
|
||||||
|
-- LOGIC
|
||||||
|
warehouse_shipping_join_transport_arrangements AS (
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
warehouse_shipping_packing_lists.new_warehouse_shipping_packing_list_id AS new_last_mile_packing_list_id,
|
||||||
|
warehouse_shipping_packing_lists.old_warehouse_shipping_packing_list_id AS old_last_mile_packing_list_id,
|
||||||
|
warehouse_shipping_packing_lists.warehouse_order_number AS last_mile_warehouse_order_number,
|
||||||
|
warehouse_shipping_packing_lists.booking_id AS last_mile_booking_id,
|
||||||
|
warehouse_shipping_packing_lists.warehouse_sub_company_id AS last_mile_warehouse_sub_company_id,
|
||||||
|
warehouse_shipping_packing_lists.has_replaced_by_new_id AS last_mile_has_replaced_by_new_id,
|
||||||
|
warehouse_shipping_packing_lists.packing_list_type AS last_mile_packing_list_type,
|
||||||
|
warehouse_shipping_packing_lists.reference_contract AS last_mile_reference_contract,
|
||||||
|
warehouse_shipping_packing_lists.status AS last_mile_shipping_status,
|
||||||
|
warehouse_shipping_packing_lists.deleted_datetime AS last_mile_shipping_deleted_datetime,
|
||||||
|
|
||||||
|
packing_list_transport_arrangments.transport_arrangement_id AS last_mile_transport_arrangement_id,
|
||||||
|
packing_list_transport_arrangments.transport_mode AS last_mile_transport_mode,
|
||||||
|
packing_list_transport_arrangments.courier AS last_mile_transport_courier,
|
||||||
|
packing_list_transport_arrangments.tracking_number AS last_mile_transport_tracking_number,
|
||||||
|
packing_list_transport_arrangments.status AS last_mile_transport_status,
|
||||||
|
packing_list_transport_arrangments.number_of_etd_datetime_postpone AS last_mile_transport_number_of_etd_datetime_postpone,
|
||||||
|
packing_list_transport_arrangments.number_of_eta_datetime_postpone AS last_mile_transport_number_of_eta_datetime_postpone,
|
||||||
|
packing_list_transport_arrangments.dispatched_datetime AS last_mile_transport_dispatched_datetime,
|
||||||
|
packing_list_transport_arrangments.droped_datetime AS last_mile_transport_droped_datetime,
|
||||||
|
packing_list_transport_arrangments.etd_datetimes AS last_mile_transport_etd_datetimes,
|
||||||
|
packing_list_transport_arrangments.first_etd_datetime AS last_mile_transport_first_etd_datetime,
|
||||||
|
packing_list_transport_arrangments.last_etd_datetime AS last_mile_transport_last_etd_datetime,
|
||||||
|
packing_list_transport_arrangments.eta_datetimes AS last_mile_transport_eta_datetimes,
|
||||||
|
packing_list_transport_arrangments.first_eta_datetime AS last_mile_transport_first_eta_datetime,
|
||||||
|
packing_list_transport_arrangments.last_eta_datetime AS last_mile_transport_last_eta_datetime,
|
||||||
|
packing_list_transport_arrangments.first_estimate_schedule_created_datetime AS last_mile_transport_first_estimate_schedule_created_datetime,
|
||||||
|
packing_list_transport_arrangments.last_estimate_schedule_created_datetime AS last_mile_transport_last_estimate_schedule_created_datetime,
|
||||||
|
packing_list_transport_arrangments.created_datetime AS last_mile_transport_created_datetime,
|
||||||
|
packing_list_transport_arrangments.updated_datetime AS last_mile_transport_updated_datetime
|
||||||
|
|
||||||
|
FROM warehouse_shipping_packing_lists
|
||||||
|
|
||||||
|
LEFT JOIN packing_list_transport_arrangments
|
||||||
|
ON (
|
||||||
|
warehouse_shipping_packing_lists.old_warehouse_shipping_packing_list_id = packing_list_transport_arrangments.packing_list_id
|
||||||
|
OR
|
||||||
|
warehouse_shipping_packing_lists.new_warehouse_shipping_packing_list_id = packing_list_transport_arrangments.packing_list_id
|
||||||
|
)
|
||||||
|
|
||||||
|
),
|
||||||
|
|
||||||
|
get_lastest_created_row_only AS ( --Because the dataset not accurate, many duplicate withough deleted all those duplicate row
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
*,
|
||||||
|
ROW_NUMBER() OVER (PARTITION BY old_last_mile_packing_list_id ORDER BY last_mile_transport_created_datetime DESC) AS row_number_index,
|
||||||
|
|
||||||
|
'{{ modules.datetime.datetime.now(modules.pytz.timezone("Asia/Kuala_Lumpur")) }}' AS _dbt_ran_datetime
|
||||||
|
|
||||||
|
FROM warehouse_shipping_join_transport_arrangements
|
||||||
|
|
||||||
|
QUALIFY
|
||||||
|
row_number_index = 1
|
||||||
|
|
||||||
|
),
|
||||||
|
|
||||||
|
|
||||||
|
-- FINAL
|
||||||
|
final__int_shipping__last_mile_transport_arrangements AS (
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
-- ids
|
||||||
|
new_last_mile_packing_list_id,
|
||||||
|
old_last_mile_packing_list_id,
|
||||||
|
last_mile_transport_arrangement_id,
|
||||||
|
last_mile_booking_id,
|
||||||
|
last_mile_warehouse_sub_company_id,
|
||||||
|
last_mile_warehouse_order_number,
|
||||||
|
|
||||||
|
-- dimensions
|
||||||
|
last_mile_has_replaced_by_new_id,
|
||||||
|
last_mile_reference_contract,
|
||||||
|
last_mile_packing_list_type,
|
||||||
|
last_mile_shipping_status,
|
||||||
|
last_mile_transport_mode,
|
||||||
|
last_mile_transport_courier,
|
||||||
|
last_mile_transport_tracking_number,
|
||||||
|
last_mile_transport_status,
|
||||||
|
|
||||||
|
-- measures
|
||||||
|
last_mile_transport_number_of_etd_datetime_postpone,
|
||||||
|
last_mile_transport_number_of_eta_datetime_postpone,
|
||||||
|
|
||||||
|
-- date/times
|
||||||
|
last_mile_transport_dispatched_datetime,
|
||||||
|
last_mile_transport_droped_datetime,
|
||||||
|
last_mile_transport_etd_datetimes,
|
||||||
|
last_mile_transport_first_etd_datetime,
|
||||||
|
last_mile_transport_last_etd_datetime,
|
||||||
|
last_mile_transport_eta_datetimes,
|
||||||
|
last_mile_transport_first_eta_datetime,
|
||||||
|
last_mile_transport_last_eta_datetime,
|
||||||
|
last_mile_transport_first_estimate_schedule_created_datetime,
|
||||||
|
last_mile_transport_last_estimate_schedule_created_datetime,
|
||||||
|
last_mile_transport_created_datetime,
|
||||||
|
last_mile_transport_updated_datetime,
|
||||||
|
|
||||||
|
-- metadata
|
||||||
|
_dbt_ran_datetime
|
||||||
|
|
||||||
|
FROM get_lastest_created_row_only
|
||||||
|
|
||||||
|
)
|
||||||
|
|
||||||
|
SELECT * FROM final__int_shipping__last_mile_transport_arrangements
|
||||||
@@ -0,0 +1,150 @@
|
|||||||
|
-- IMPORT
|
||||||
|
WITH origin_warehouse_shipping_packing_lists AS (
|
||||||
|
SELECT * FROM {{ ref('stg_shipping__warehouse_shipping_packing_lists') }}
|
||||||
|
),
|
||||||
|
|
||||||
|
containers AS (
|
||||||
|
SELECT * FROM {{ ref('stg_shipping__containers') }}
|
||||||
|
),
|
||||||
|
|
||||||
|
containers_brg_packing_lists AS (
|
||||||
|
SELECT * FROM {{ ref('stg_shipping__containers_brg_packing_lists') }}
|
||||||
|
),
|
||||||
|
|
||||||
|
container_transport_arrangments AS (
|
||||||
|
SELECT * FROM {{ ref('stg_shipping__container_transport_arrangments') }}
|
||||||
|
),
|
||||||
|
|
||||||
|
|
||||||
|
-- LOGIC
|
||||||
|
container_get_packing_list_ids AS (
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
containers_brg_packing_lists.packing_list_id,
|
||||||
|
containers.*
|
||||||
|
|
||||||
|
FROM containers
|
||||||
|
|
||||||
|
LEFT JOIN containers_brg_packing_lists
|
||||||
|
ON (containers.container_id = containers_brg_packing_lists.container_id)
|
||||||
|
|
||||||
|
),
|
||||||
|
|
||||||
|
container_get_transport_arrangments AS (
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
origin_warehouse_shipping_packing_lists.new_warehouse_shipping_packing_list_id AS new_mid_mile_packing_list_id,
|
||||||
|
origin_warehouse_shipping_packing_lists.old_warehouse_shipping_packing_list_id AS old_mid_mile_packing_list_id,
|
||||||
|
origin_warehouse_shipping_packing_lists.warehouse_order_number AS mid_mile_warehouse_order_number,
|
||||||
|
origin_warehouse_shipping_packing_lists.booking_id AS mid_mile_booking_id,
|
||||||
|
origin_warehouse_shipping_packing_lists.warehouse_sub_company_id AS mid_mile_warehouse_sub_company_id,
|
||||||
|
origin_warehouse_shipping_packing_lists.has_replaced_by_new_id AS mid_mile_has_replaced_by_new_id,
|
||||||
|
origin_warehouse_shipping_packing_lists.reference_contract AS mid_mile_reference_contract,
|
||||||
|
origin_warehouse_shipping_packing_lists.status AS mid_mile_shipping_status,
|
||||||
|
origin_warehouse_shipping_packing_lists.packing_list_type AS mid_mile_packing_list_type,
|
||||||
|
|
||||||
|
container_get_packing_list_ids.packing_list_id AS mid_mile_container_packing_list_id,
|
||||||
|
container_get_packing_list_ids.container_id AS mid_mile_container_id,
|
||||||
|
container_get_packing_list_ids.sub_company_id AS mid_mile_container_warehouse_sub_company_id,
|
||||||
|
container_get_packing_list_ids.container_reference AS mid_mile_container_reference,
|
||||||
|
container_get_packing_list_ids.container_number AS mid_mile_container_number,
|
||||||
|
container_get_packing_list_ids.container_type AS mid_mile_container_type,
|
||||||
|
container_get_packing_list_ids.seal_reference AS mid_mile_container_seal_reference,
|
||||||
|
container_get_packing_list_ids.status AS mid_mile_container_status,
|
||||||
|
container_get_packing_list_ids.loaded_datetime AS mid_mile_container_loaded_datetime,
|
||||||
|
container_get_packing_list_ids.deleted_datetime AS mid_mile_container_deleted_datetime,
|
||||||
|
container_get_packing_list_ids.created_datetime AS mid_mile_container_created_datetime,
|
||||||
|
container_get_packing_list_ids.updated_datetime AS mid_mile_container_updated_datetime,
|
||||||
|
|
||||||
|
container_transport_arrangments.transport_arrangement_id AS mid_mile_transport_arrangement_id,
|
||||||
|
container_transport_arrangments.dispatched_datetime AS mid_mile_container_departed_datetime,
|
||||||
|
container_transport_arrangments.droped_datetime AS mid_mile_container_arrived_datetime,
|
||||||
|
container_transport_arrangments.courier AS mid_mile_container_delivery_courier,
|
||||||
|
container_transport_arrangments.tracking_number AS mid_mile_container_tracking_number,
|
||||||
|
container_transport_arrangments.status AS mid_mile_container_transport_arrangment_status,
|
||||||
|
container_transport_arrangments.number_of_etd_datetime_postpone AS mid_mile_number_of_container_etd_datetime_postpone,
|
||||||
|
container_transport_arrangments.number_of_eta_datetime_postpone AS mid_mile_number_of_container_eta_datetime_postpone,
|
||||||
|
container_transport_arrangments.etd_datetimes AS mid_mile_container_etd_datetimes,
|
||||||
|
container_transport_arrangments.first_etd_datetime AS mid_mile_first_container_etd_datetimes,
|
||||||
|
container_transport_arrangments.last_etd_datetime AS mid_mile_last_container_etd_datetimes,
|
||||||
|
container_transport_arrangments.eta_datetimes AS mid_mile_container_eta_datetimes,
|
||||||
|
container_transport_arrangments.first_eta_datetime AS mid_mile_first_container_eta_datetime,
|
||||||
|
container_transport_arrangments.last_eta_datetime AS mid_mile_last_container_eta_datetime,
|
||||||
|
container_transport_arrangments.first_estimate_schedule_created_datetime AS mid_mile_first_container_estimate_schedule_created_datetime,
|
||||||
|
container_transport_arrangments.last_estimate_schedule_created_datetime AS mid_mile_last_container_estimate_schedule_created_datetime,
|
||||||
|
|
||||||
|
'{{ modules.datetime.datetime.now(modules.pytz.timezone("Asia/Kuala_Lumpur")) }}' AS _dbt_ran_datetime
|
||||||
|
|
||||||
|
FROM origin_warehouse_shipping_packing_lists
|
||||||
|
|
||||||
|
LEFT JOIN container_get_packing_list_ids
|
||||||
|
ON (
|
||||||
|
origin_warehouse_shipping_packing_lists.old_warehouse_shipping_packing_list_id = container_get_packing_list_ids.packing_list_id
|
||||||
|
OR
|
||||||
|
origin_warehouse_shipping_packing_lists.new_warehouse_shipping_packing_list_id = container_get_packing_list_ids.packing_list_id
|
||||||
|
)
|
||||||
|
|
||||||
|
LEFT JOIN container_transport_arrangments
|
||||||
|
ON (container_get_packing_list_ids.container_id = container_transport_arrangments.container_id)
|
||||||
|
|
||||||
|
),
|
||||||
|
|
||||||
|
|
||||||
|
-- FINAL
|
||||||
|
final__int_shipping__mid_mile_transport_arrangements AS (
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
-- ids
|
||||||
|
new_mid_mile_packing_list_id,
|
||||||
|
old_mid_mile_packing_list_id,
|
||||||
|
mid_mile_transport_arrangement_id,
|
||||||
|
mid_mile_booking_id,
|
||||||
|
mid_mile_container_id,
|
||||||
|
mid_mile_container_warehouse_sub_company_id,
|
||||||
|
mid_mile_warehouse_sub_company_id,
|
||||||
|
mid_mile_warehouse_order_number,
|
||||||
|
|
||||||
|
-- dimensions
|
||||||
|
mid_mile_has_replaced_by_new_id,
|
||||||
|
mid_mile_shipping_status,
|
||||||
|
mid_mile_reference_contract,
|
||||||
|
mid_mile_packing_list_type,
|
||||||
|
mid_mile_container_reference,
|
||||||
|
mid_mile_container_number,
|
||||||
|
mid_mile_container_seal_reference,
|
||||||
|
mid_mile_container_type,
|
||||||
|
mid_mile_container_status,
|
||||||
|
mid_mile_container_transport_arrangment_status,
|
||||||
|
mid_mile_container_delivery_courier,
|
||||||
|
mid_mile_container_tracking_number,
|
||||||
|
|
||||||
|
-- measures
|
||||||
|
mid_mile_number_of_container_etd_datetime_postpone,
|
||||||
|
mid_mile_number_of_container_eta_datetime_postpone,
|
||||||
|
|
||||||
|
-- date/times
|
||||||
|
mid_mile_container_loaded_datetime,
|
||||||
|
mid_mile_container_departed_datetime,
|
||||||
|
mid_mile_container_arrived_datetime,
|
||||||
|
mid_mile_container_etd_datetimes,
|
||||||
|
mid_mile_first_container_etd_datetimes,
|
||||||
|
mid_mile_last_container_etd_datetimes,
|
||||||
|
mid_mile_container_eta_datetimes,
|
||||||
|
mid_mile_first_container_eta_datetime,
|
||||||
|
mid_mile_last_container_eta_datetime,
|
||||||
|
mid_mile_first_container_estimate_schedule_created_datetime,
|
||||||
|
mid_mile_last_container_estimate_schedule_created_datetime,
|
||||||
|
mid_mile_container_deleted_datetime,
|
||||||
|
mid_mile_container_created_datetime,
|
||||||
|
mid_mile_container_updated_datetime,
|
||||||
|
|
||||||
|
-- metadata
|
||||||
|
_dbt_ran_datetime
|
||||||
|
|
||||||
|
FROM container_get_transport_arrangments
|
||||||
|
|
||||||
|
)
|
||||||
|
-- -- YAM already do the hardcode clean, but not validate by omair
|
||||||
|
-- SELECT * FROM container_group_by_packing_list_id WHERE packing_list_id in (21276, 16087) OR packing_list_id IS NULL
|
||||||
|
|
||||||
|
SELECT * FROM final__int_shipping__mid_mile_transport_arrangements
|
||||||
-150
@@ -1,150 +0,0 @@
|
|||||||
-- IMPORT
|
|
||||||
WITH origin_warehouse_shipping_packing_lists AS (
|
|
||||||
SELECT * FROM {{ ref('stg_shipping__warehouse_shipping_packing_lists') }}
|
|
||||||
),
|
|
||||||
|
|
||||||
containers AS (
|
|
||||||
SELECT * FROM {{ ref('stg_shipping__containers') }}
|
|
||||||
),
|
|
||||||
|
|
||||||
containers_brg_packing_lists AS (
|
|
||||||
SELECT * FROM {{ ref('stg_shipping__containers_brg_packing_lists') }}
|
|
||||||
),
|
|
||||||
|
|
||||||
container_transport_arrangments AS (
|
|
||||||
SELECT * FROM {{ ref('stg_shipping__container_transport_arrangments') }}
|
|
||||||
),
|
|
||||||
|
|
||||||
|
|
||||||
-- LOGIC
|
|
||||||
container_get_packing_list_ids AS (
|
|
||||||
|
|
||||||
SELECT
|
|
||||||
containers_brg_packing_lists.packing_list_id,
|
|
||||||
containers.*
|
|
||||||
|
|
||||||
FROM containers
|
|
||||||
|
|
||||||
LEFT JOIN containers_brg_packing_lists
|
|
||||||
ON (containers.container_id = containers_brg_packing_lists.container_id)
|
|
||||||
|
|
||||||
),
|
|
||||||
|
|
||||||
container_get_transport_arrangments AS (
|
|
||||||
|
|
||||||
SELECT
|
|
||||||
origin_warehouse_shipping_packing_lists.new_origin_warehouse_shipping_packing_list_id,
|
|
||||||
origin_warehouse_shipping_packing_lists.old_origin_warehouse_shipping_packing_list_id,
|
|
||||||
origin_warehouse_shipping_packing_lists.warehouse_order_number,
|
|
||||||
origin_warehouse_shipping_packing_lists.booking_id,
|
|
||||||
origin_warehouse_shipping_packing_lists.warehouse_sub_company_id,
|
|
||||||
origin_warehouse_shipping_packing_lists.has_replaced_by_new_id,
|
|
||||||
origin_warehouse_shipping_packing_lists.reference_contract AS origin_warehouse_reference_contract,
|
|
||||||
origin_warehouse_shipping_packing_lists.status AS origin_warehouse_shipping_status,
|
|
||||||
origin_warehouse_shipping_packing_lists.packing_list_type,
|
|
||||||
|
|
||||||
container_get_packing_list_ids.packing_list_id AS container_packing_list_id,
|
|
||||||
container_get_packing_list_ids.container_id,
|
|
||||||
container_get_packing_list_ids.sub_company_id AS container_warehouse_sub_company_id,
|
|
||||||
container_get_packing_list_ids.container_reference,
|
|
||||||
container_get_packing_list_ids.container_number,
|
|
||||||
container_get_packing_list_ids.container_type,
|
|
||||||
container_get_packing_list_ids.seal_reference AS container_seal_reference,
|
|
||||||
container_get_packing_list_ids.status AS container_status,
|
|
||||||
container_get_packing_list_ids.loaded_datetime AS container_loaded_datetime,
|
|
||||||
container_get_packing_list_ids.deleted_datetime AS container_deleted_datetime,
|
|
||||||
container_get_packing_list_ids.created_datetime AS container_created_datetime,
|
|
||||||
container_get_packing_list_ids.updated_datetime AS container_updated_datetime,
|
|
||||||
|
|
||||||
container_transport_arrangments.transport_arrangement_id AS container_transport_arrangement_id,
|
|
||||||
container_transport_arrangments.dispatched_datetime AS container_departed_datetime,
|
|
||||||
container_transport_arrangments.droped_datetime AS container_arrived_datetime,
|
|
||||||
container_transport_arrangments.courier AS container_deliver_courier,
|
|
||||||
container_transport_arrangments.tracking_number AS container_tracking_number,
|
|
||||||
container_transport_arrangments.status AS container_transport_arrangment_status,
|
|
||||||
container_transport_arrangments.number_of_etd_datetime_postpone AS number_of_container_etd_datetime_postpone,
|
|
||||||
container_transport_arrangments.number_of_eta_datetime_postpone AS number_of_container_eta_datetime_postpone,
|
|
||||||
container_transport_arrangments.etd_datetimes AS container_etd_datetimes,
|
|
||||||
container_transport_arrangments.first_etd_datetime AS first_container_etd_datetimes,
|
|
||||||
container_transport_arrangments.last_etd_datetime AS last_container_etd_datetimes,
|
|
||||||
container_transport_arrangments.eta_datetimes AS container_eta_datetimes,
|
|
||||||
container_transport_arrangments.first_eta_datetime AS first_container_eta_datetime,
|
|
||||||
container_transport_arrangments.last_eta_datetime AS last_container_eta_datetime,
|
|
||||||
container_transport_arrangments.first_estimate_schedule_created_datetime AS first_container_estimate_schedule_created_datetime,
|
|
||||||
container_transport_arrangments.last_estimate_schedule_created_datetime AS last_container_estimate_schedule_created_datetime,
|
|
||||||
|
|
||||||
'{{ modules.datetime.datetime.now(modules.pytz.timezone("Asia/Kuala_Lumpur")) }}' AS _dbt_ran_datetime
|
|
||||||
|
|
||||||
FROM origin_warehouse_shipping_packing_lists
|
|
||||||
|
|
||||||
LEFT JOIN container_get_packing_list_ids
|
|
||||||
ON (
|
|
||||||
origin_warehouse_shipping_packing_lists.old_origin_warehouse_shipping_packing_list_id = container_get_packing_list_ids.packing_list_id
|
|
||||||
OR
|
|
||||||
origin_warehouse_shipping_packing_lists.new_origin_warehouse_shipping_packing_list_id = container_get_packing_list_ids.packing_list_id
|
|
||||||
)
|
|
||||||
|
|
||||||
LEFT JOIN container_transport_arrangments
|
|
||||||
ON (container_get_packing_list_ids.container_id = container_transport_arrangments.container_id)
|
|
||||||
|
|
||||||
),
|
|
||||||
|
|
||||||
|
|
||||||
-- FINAL
|
|
||||||
final__int_shipping__containers_group_by_packing_list_ids AS (
|
|
||||||
|
|
||||||
SELECT
|
|
||||||
-- ids
|
|
||||||
new_origin_warehouse_shipping_packing_list_id,
|
|
||||||
old_origin_warehouse_shipping_packing_list_id,
|
|
||||||
container_transport_arrangement_id,
|
|
||||||
booking_id,
|
|
||||||
container_id,
|
|
||||||
container_warehouse_sub_company_id,
|
|
||||||
warehouse_sub_company_id,
|
|
||||||
warehouse_order_number,
|
|
||||||
|
|
||||||
-- dimensions
|
|
||||||
has_replaced_by_new_id,
|
|
||||||
origin_warehouse_shipping_status,
|
|
||||||
origin_warehouse_reference_contract,
|
|
||||||
packing_list_type,
|
|
||||||
container_reference,
|
|
||||||
container_number,
|
|
||||||
container_seal_reference,
|
|
||||||
container_type,
|
|
||||||
container_status,
|
|
||||||
container_transport_arrangment_status,
|
|
||||||
container_deliver_courier,
|
|
||||||
container_tracking_number,
|
|
||||||
|
|
||||||
-- measures
|
|
||||||
number_of_container_etd_datetime_postpone,
|
|
||||||
number_of_container_eta_datetime_postpone,
|
|
||||||
|
|
||||||
-- date/times
|
|
||||||
container_loaded_datetime,
|
|
||||||
container_departed_datetime,
|
|
||||||
container_arrived_datetime,
|
|
||||||
container_etd_datetimes,
|
|
||||||
first_container_etd_datetimes,
|
|
||||||
last_container_etd_datetimes,
|
|
||||||
container_eta_datetimes,
|
|
||||||
first_container_eta_datetime,
|
|
||||||
last_container_eta_datetime,
|
|
||||||
first_container_estimate_schedule_created_datetime,
|
|
||||||
last_container_estimate_schedule_created_datetime,
|
|
||||||
container_deleted_datetime,
|
|
||||||
container_created_datetime,
|
|
||||||
container_updated_datetime,
|
|
||||||
|
|
||||||
-- metadata
|
|
||||||
_dbt_ran_datetime
|
|
||||||
|
|
||||||
FROM container_get_transport_arrangments
|
|
||||||
|
|
||||||
)
|
|
||||||
-- -- YAM already do the hardcode clean, but not validate by omair
|
|
||||||
-- SELECT * FROM container_group_by_packing_list_id WHERE packing_list_id in (21276, 16087) OR packing_list_id IS NULL
|
|
||||||
|
|
||||||
SELECT * FROM final__int_shipping__containers_group_by_packing_list_ids
|
|
||||||
-101
@@ -1,101 +0,0 @@
|
|||||||
-- IMPORT
|
|
||||||
WITH origin_warehouse_receive_packing_lists AS (
|
|
||||||
SELECT * FROM {{ ref('stg_shipping__origin_warehouse_receive_packing_lists') }}
|
|
||||||
),
|
|
||||||
|
|
||||||
packing_list_transport_arrangments AS (
|
|
||||||
SELECT * FROM {{ ref('stg_shipping__packing_list_transport_arrangments') }}
|
|
||||||
),
|
|
||||||
|
|
||||||
|
|
||||||
-- LOGIC
|
|
||||||
origin_factory_packing_list_join_transport_arrangments AS (
|
|
||||||
|
|
||||||
SELECT
|
|
||||||
origin_warehouse_receive_packing_lists.new_origin_warehouse_receive_packing_list_id,
|
|
||||||
origin_warehouse_receive_packing_lists.old_origin_warehouse_receive_packing_list_id,
|
|
||||||
origin_warehouse_receive_packing_lists.warehouse_order_number,
|
|
||||||
origin_warehouse_receive_packing_lists.booking_id,
|
|
||||||
origin_warehouse_receive_packing_lists.warehouse_sub_company_id,
|
|
||||||
origin_warehouse_receive_packing_lists.has_replaced_by_new_id,
|
|
||||||
origin_warehouse_receive_packing_lists.reference_contract,
|
|
||||||
origin_warehouse_receive_packing_lists.status AS origin_warehouse_receive_status,
|
|
||||||
|
|
||||||
packing_list_transport_arrangments.transport_arrangement_id AS origin_factory_transport_arrangement_id,
|
|
||||||
packing_list_transport_arrangments.transport_mode AS origin_factory_transport_transport_mode,
|
|
||||||
packing_list_transport_arrangments.courier AS origin_factory_transport_courier,
|
|
||||||
packing_list_transport_arrangments.tracking_number AS origin_factory_transport_tracking_number,
|
|
||||||
packing_list_transport_arrangments.status AS origin_factory_transport_status,
|
|
||||||
packing_list_transport_arrangments.number_of_etd_datetime_postpone AS origin_factory_transport_number_of_etd_datetime_postpone,
|
|
||||||
packing_list_transport_arrangments.number_of_eta_datetime_postpone AS origin_factory_transport_number_of_eta_datetime_postpone,
|
|
||||||
packing_list_transport_arrangments.dispatched_datetime AS origin_factory_dispatched_datetime,
|
|
||||||
packing_list_transport_arrangments.droped_datetime AS origin_warehouse_received_datetime,
|
|
||||||
packing_list_transport_arrangments.etd_datetimes AS origin_factory_transport_etd_datetimes,
|
|
||||||
packing_list_transport_arrangments.first_etd_datetime AS origin_factory_transport_first_etd_datetime,
|
|
||||||
packing_list_transport_arrangments.last_etd_datetime AS origin_factory_transport_last_etd_datetime,
|
|
||||||
packing_list_transport_arrangments.eta_datetimes AS origin_factory_transport_eta_datetimes,
|
|
||||||
packing_list_transport_arrangments.first_eta_datetime AS origin_factory_transport_first_eta_datetime,
|
|
||||||
packing_list_transport_arrangments.last_eta_datetime AS origin_factory_transport_last_eta_datetime,
|
|
||||||
packing_list_transport_arrangments.first_estimate_schedule_created_datetime AS origin_factory_transport_first_estimate_schedule_created_datetime,
|
|
||||||
packing_list_transport_arrangments.last_estimate_schedule_created_datetime AS origin_factory_transport_last_estimate_schedule_created_datetime,
|
|
||||||
packing_list_transport_arrangments.created_datetime AS origin_factory_transport_created_datetime,
|
|
||||||
packing_list_transport_arrangments.updated_datetime AS origin_factory_transport_updated_datetime,
|
|
||||||
|
|
||||||
'{{ modules.datetime.datetime.now(modules.pytz.timezone("Asia/Kuala_Lumpur")) }}' AS _dbt_ran_datetime
|
|
||||||
|
|
||||||
FROM origin_warehouse_receive_packing_lists
|
|
||||||
|
|
||||||
LEFT JOIN packing_list_transport_arrangments
|
|
||||||
ON (origin_warehouse_receive_packing_lists.old_origin_warehouse_receive_packing_list_id = packing_list_transport_arrangments.packing_list_id)
|
|
||||||
|
|
||||||
),
|
|
||||||
|
|
||||||
|
|
||||||
-- FINAL
|
|
||||||
final__int_shipping__origin_factory_packing_list_transport_arrangements AS (
|
|
||||||
|
|
||||||
SELECT
|
|
||||||
-- ids
|
|
||||||
new_origin_warehouse_receive_packing_list_id,
|
|
||||||
old_origin_warehouse_receive_packing_list_id,
|
|
||||||
origin_factory_transport_arrangement_id,
|
|
||||||
booking_id,
|
|
||||||
warehouse_order_number,
|
|
||||||
warehouse_sub_company_id,
|
|
||||||
|
|
||||||
-- dimensions
|
|
||||||
has_replaced_by_new_id,
|
|
||||||
reference_contract,
|
|
||||||
origin_factory_transport_transport_mode,
|
|
||||||
origin_factory_transport_courier,
|
|
||||||
origin_factory_transport_tracking_number,
|
|
||||||
origin_factory_transport_status,
|
|
||||||
origin_warehouse_receive_status,
|
|
||||||
|
|
||||||
-- measures
|
|
||||||
origin_factory_transport_number_of_etd_datetime_postpone,
|
|
||||||
origin_factory_transport_number_of_eta_datetime_postpone,
|
|
||||||
|
|
||||||
-- date/times
|
|
||||||
origin_factory_dispatched_datetime,
|
|
||||||
origin_warehouse_received_datetime,
|
|
||||||
origin_factory_transport_etd_datetimes,
|
|
||||||
origin_factory_transport_first_etd_datetime,
|
|
||||||
origin_factory_transport_last_etd_datetime,
|
|
||||||
origin_factory_transport_eta_datetimes,
|
|
||||||
origin_factory_transport_first_eta_datetime,
|
|
||||||
origin_factory_transport_last_eta_datetime,
|
|
||||||
origin_factory_transport_first_estimate_schedule_created_datetime,
|
|
||||||
origin_factory_transport_last_estimate_schedule_created_datetime,
|
|
||||||
|
|
||||||
origin_factory_transport_created_datetime,
|
|
||||||
origin_factory_transport_updated_datetime,
|
|
||||||
|
|
||||||
-- metadata
|
|
||||||
_dbt_ran_datetime
|
|
||||||
|
|
||||||
FROM origin_factory_packing_list_join_transport_arrangments
|
|
||||||
|
|
||||||
)
|
|
||||||
|
|
||||||
SELECT * FROM final__int_shipping__origin_factory_packing_list_transport_arrangements
|
|
||||||
@@ -1,129 +0,0 @@
|
|||||||
-- IMPORT
|
|
||||||
WITH packages AS (
|
|
||||||
SELECT * FROM {{ ref('stg_shipping__packages') }}
|
|
||||||
),
|
|
||||||
|
|
||||||
package_extra_charges AS (
|
|
||||||
SELECT * FROM {{ ref('stg_shipping__package_extra_charges') }}
|
|
||||||
),
|
|
||||||
|
|
||||||
-- LOGIC
|
|
||||||
packages_group_by_packing_list_id AS (
|
|
||||||
SELECT
|
|
||||||
packing_list_id,
|
|
||||||
COUNT(DISTINCT(package_id)) AS number_of_package_record,
|
|
||||||
ARRAY_AGG(DISTINCT(package_description)) AS package_descriptions,
|
|
||||||
SUM(width_cm) AS total_package_width_cm,
|
|
||||||
SUM(height_cm) AS total_package_height_cm,
|
|
||||||
SUM(length_cm) AS total_package_length_cm,
|
|
||||||
sum(weight_kg) AS total_package_weight_kg,
|
|
||||||
SUM(quantity) AS total_package_item,
|
|
||||||
SUM(cbm) AS total_package_cbm
|
|
||||||
|
|
||||||
FROM
|
|
||||||
packages
|
|
||||||
|
|
||||||
GROUP BY
|
|
||||||
packing_list_id
|
|
||||||
),
|
|
||||||
|
|
||||||
package_extra_charges_group_by_packing_list_id AS (
|
|
||||||
SELECT
|
|
||||||
packing_list_id,
|
|
||||||
COUNT(DISTINCT(
|
|
||||||
IFF(package_type = 'OVER_WEIGHT',
|
|
||||||
package_id,
|
|
||||||
null)
|
|
||||||
)) AS number_of_over_weight_charge_record,
|
|
||||||
|
|
||||||
SUM(
|
|
||||||
IFF(package_type = 'OVER_WEIGHT',
|
|
||||||
extra_charge_cbm,
|
|
||||||
0)
|
|
||||||
) AS over_weight_cbm,
|
|
||||||
|
|
||||||
SUM(
|
|
||||||
IFF(package_type = 'OVER_WEIGHT',
|
|
||||||
over_weight_kg,
|
|
||||||
0)
|
|
||||||
) AS over_weight_kg,
|
|
||||||
|
|
||||||
|
|
||||||
COUNT(DISTINCT(
|
|
||||||
IFF(package_type = 'PALLET',
|
|
||||||
package_id,
|
|
||||||
null)
|
|
||||||
)) AS number_of_pallet_charge_record,
|
|
||||||
|
|
||||||
SUM(
|
|
||||||
IFF(package_type = 'PALLET',
|
|
||||||
extra_charge_cbm,
|
|
||||||
0)
|
|
||||||
) AS pallet_charge_cbm
|
|
||||||
|
|
||||||
FROM package_extra_charges
|
|
||||||
|
|
||||||
GROUP BY
|
|
||||||
packing_list_id
|
|
||||||
),
|
|
||||||
|
|
||||||
pakacges_and_package_extra_charges_join_using_packing_list_id AS (
|
|
||||||
SELECT
|
|
||||||
packages_group_by_packing_list_id.packing_list_id,
|
|
||||||
packages_group_by_packing_list_id.number_of_package_record,
|
|
||||||
packages_group_by_packing_list_id.package_descriptions,
|
|
||||||
packages_group_by_packing_list_id.total_package_width_cm,
|
|
||||||
packages_group_by_packing_list_id.total_package_height_cm,
|
|
||||||
packages_group_by_packing_list_id.total_package_length_cm,
|
|
||||||
packages_group_by_packing_list_id.total_package_weight_kg,
|
|
||||||
packages_group_by_packing_list_id.total_package_item,
|
|
||||||
packages_group_by_packing_list_id.total_package_cbm,
|
|
||||||
|
|
||||||
package_extra_charges_group_by_packing_list_id.number_of_over_weight_charge_record,
|
|
||||||
package_extra_charges_group_by_packing_list_id.over_weight_cbm,
|
|
||||||
package_extra_charges_group_by_packing_list_id.over_weight_kg,
|
|
||||||
package_extra_charges_group_by_packing_list_id.number_of_pallet_charge_record,
|
|
||||||
package_extra_charges_group_by_packing_list_id.pallet_charge_cbm,
|
|
||||||
|
|
||||||
'{{ modules.datetime.datetime.now(modules.pytz.timezone("Asia/Kuala_Lumpur")) }}' AS _dbt_ran_datetime
|
|
||||||
|
|
||||||
FROM packages_group_by_packing_list_id
|
|
||||||
|
|
||||||
LEFT JOIN package_extra_charges_group_by_packing_list_id
|
|
||||||
ON (packages_group_by_packing_list_id.packing_list_id = package_extra_charges_group_by_packing_list_id.packing_list_id)
|
|
||||||
),
|
|
||||||
|
|
||||||
-- FINAL
|
|
||||||
final__int_shipping__packages_group_by_packing_lists AS (
|
|
||||||
SELECT
|
|
||||||
-- ids
|
|
||||||
packing_list_id,
|
|
||||||
|
|
||||||
-- dimensions
|
|
||||||
package_descriptions,
|
|
||||||
|
|
||||||
-- measures
|
|
||||||
number_of_package_record,
|
|
||||||
total_package_width_cm,
|
|
||||||
total_package_height_cm,
|
|
||||||
total_package_length_cm,
|
|
||||||
total_package_weight_kg,
|
|
||||||
total_package_item,
|
|
||||||
total_package_cbm,
|
|
||||||
|
|
||||||
number_of_over_weight_charge_record,
|
|
||||||
over_weight_cbm,
|
|
||||||
over_weight_kg,
|
|
||||||
number_of_pallet_charge_record,
|
|
||||||
pallet_charge_cbm,
|
|
||||||
|
|
||||||
-- date/times
|
|
||||||
|
|
||||||
-- metadata
|
|
||||||
_dbt_ran_datetime
|
|
||||||
|
|
||||||
|
|
||||||
FROM pakacges_and_package_extra_charges_join_using_packing_list_id
|
|
||||||
)
|
|
||||||
|
|
||||||
SELECT * FROM final__int_shipping__packages_group_by_packing_lists
|
|
||||||
-109
@@ -1,109 +0,0 @@
|
|||||||
-- IMPORT
|
|
||||||
WITH stg_shipping__packing_list_invoice_payments AS (
|
|
||||||
SELECT * FROM {{ ref('stg_shipping__packing_list_invoice_payments') }}
|
|
||||||
),
|
|
||||||
|
|
||||||
-- LOGIC
|
|
||||||
remove_expired_invoice_payments AS (
|
|
||||||
SELECT
|
|
||||||
*
|
|
||||||
|
|
||||||
FROM stg_shipping__packing_list_invoice_payments
|
|
||||||
|
|
||||||
WHERE
|
|
||||||
invoice_status != 'EXPIRED'
|
|
||||||
AND
|
|
||||||
payment_status NOT IN ('SUSPENDED','REJECTED')
|
|
||||||
),
|
|
||||||
|
|
||||||
group_by_packing_list_ids AS (
|
|
||||||
SELECT
|
|
||||||
old_origin_warehouse_shipping_packing_list_id,
|
|
||||||
invoice_sub_company_id,
|
|
||||||
payment_sub_company_id,
|
|
||||||
COUNT(DISTINCT(packing_list_invoice_id)) AS number_of_invoice,
|
|
||||||
COUNT(DISTINCT(packing_list_payment_id)) AS number_of_payment,
|
|
||||||
|
|
||||||
SUM(invoice_number_of_shipping_fee) AS invoice_number_of_shipping_fee,
|
|
||||||
SUM(invoice_average_shipping_fee_price_per_quantity)/SUM(invoice_number_of_shipping_fee) AS invoice_average_shipping_fee_price_per_quantity,
|
|
||||||
SUM(invoice_total_shipping_fee_quantity) AS invoice_total_shipping_fee_quantity,
|
|
||||||
SUM(invoice_total_shipping_fee_value_rm) AS invoice_total_shipping_fee_value_rm,
|
|
||||||
SUM(invoice_number_of_min_cbm_charge) AS invoice_number_of_min_cbm_charge,
|
|
||||||
SUM(invoice_average_min_cbm_charge_price_per_quantity)/SUM(invoice_number_of_min_cbm_charge) AS invoice_average_min_cbm_charge_price_per_quantity,
|
|
||||||
SUM(invoice_total_min_cbm_charge_quantity) AS invoice_total_min_cbm_charge_quantity,
|
|
||||||
SUM(invoice_total_min_cbm_charge_value_rm) AS invoice_total_min_cbm_charge_value_rm,
|
|
||||||
SUM(invoice_number_of_over_weight_charge) AS invoice_number_of_over_weight_charge,
|
|
||||||
SUM(invoice_average_over_weight_charge_price_per_quantity)/SUM(invoice_number_of_over_weight_charge) AS invoice_average_over_weight_charge_price_per_quantity,
|
|
||||||
SUM(invoice_total_over_weight_charge_quantity) AS invoice_total_over_weight_charge_quantity,
|
|
||||||
SUM(invoice_total_over_weight_charge_value_rm) AS invoice_total_over_weight_charge_value_rm,
|
|
||||||
SUM(invoice_number_of_custom_charge) AS invoice_number_of_custom_charge,
|
|
||||||
SUM(invoice_average_custom_charge_price_per_quantity)/SUM(invoice_number_of_custom_charge) AS invoice_average_custom_charge_price_per_quantity,
|
|
||||||
SUM(invoice_total_custom_charge_quantity) AS invoice_total_custom_charge_quantity,
|
|
||||||
SUM(invoice_total_custom_charge_value_rm) AS invoice_total_custom_charge_value_rm,
|
|
||||||
SUM(invoice_value_rm) AS invoice_value_rm,
|
|
||||||
SUM(invoice_tax_rm) AS invoice_tax_rm,
|
|
||||||
SUM(invoice_service_charge) AS invoice_service_charge,
|
|
||||||
SUM(payment_value_rm) AS payment_value_rm,
|
|
||||||
SUM(payment_tax_rm) AS payment_tax_rm,
|
|
||||||
SUM(payment_service_charge_rm) AS payment_service_charge_rm,
|
|
||||||
MAX(invoice_created_datetime) AS last_invoice_created_datetime,
|
|
||||||
MAX(payment_created_datetime) AS last_payment_created_datetime,
|
|
||||||
'{{ modules.datetime.datetime.now(modules.pytz.timezone("Asia/Kuala_Lumpur")) }}' AS _dbt_ran_datetime
|
|
||||||
|
|
||||||
|
|
||||||
FROM remove_expired_invoice_payments
|
|
||||||
|
|
||||||
GROUP BY
|
|
||||||
old_origin_warehouse_shipping_packing_list_id,
|
|
||||||
invoice_sub_company_id,
|
|
||||||
payment_sub_company_id
|
|
||||||
|
|
||||||
),
|
|
||||||
|
|
||||||
-- FINAL
|
|
||||||
final__int_shipping__packing_list_invoice_payments_group_by_packing_list_ids AS (
|
|
||||||
SELECT
|
|
||||||
-- ids
|
|
||||||
old_origin_warehouse_shipping_packing_list_id,
|
|
||||||
invoice_sub_company_id,
|
|
||||||
payment_sub_company_id,
|
|
||||||
|
|
||||||
-- dimensions
|
|
||||||
|
|
||||||
-- measures
|
|
||||||
number_of_invoice,
|
|
||||||
number_of_payment,
|
|
||||||
invoice_number_of_shipping_fee,
|
|
||||||
invoice_average_shipping_fee_price_per_quantity,
|
|
||||||
invoice_total_shipping_fee_quantity,
|
|
||||||
invoice_total_shipping_fee_value_rm,
|
|
||||||
invoice_number_of_min_cbm_charge,
|
|
||||||
invoice_average_min_cbm_charge_price_per_quantity,
|
|
||||||
invoice_total_min_cbm_charge_quantity,
|
|
||||||
invoice_total_min_cbm_charge_value_rm,
|
|
||||||
invoice_number_of_over_weight_charge,
|
|
||||||
invoice_average_over_weight_charge_price_per_quantity,
|
|
||||||
invoice_total_over_weight_charge_quantity,
|
|
||||||
invoice_total_over_weight_charge_value_rm,
|
|
||||||
invoice_number_of_custom_charge,
|
|
||||||
invoice_average_custom_charge_price_per_quantity,
|
|
||||||
invoice_total_custom_charge_quantity,
|
|
||||||
invoice_total_custom_charge_value_rm,
|
|
||||||
invoice_value_rm,
|
|
||||||
invoice_tax_rm,
|
|
||||||
invoice_service_charge,
|
|
||||||
payment_value_rm,
|
|
||||||
payment_tax_rm,
|
|
||||||
payment_service_charge_rm,
|
|
||||||
|
|
||||||
-- date/times
|
|
||||||
last_invoice_created_datetime,
|
|
||||||
last_payment_created_datetime,
|
|
||||||
|
|
||||||
-- metadata
|
|
||||||
_dbt_ran_datetime
|
|
||||||
|
|
||||||
FROM group_by_packing_list_ids
|
|
||||||
)
|
|
||||||
|
|
||||||
SELECT * FROM final__int_shipping__packing_list_invoice_payments_group_by_packing_list_ids
|
|
||||||
+9
-9
@@ -30,7 +30,7 @@ count_receive_list_booking_id_row AS (
|
|||||||
|
|
||||||
vt_receive_packing_list_remove_booking_id_more_than_one AS (
|
vt_receive_packing_list_remove_booking_id_more_than_one AS (
|
||||||
SELECT
|
SELECT
|
||||||
vt_receive_packing_lists.origin_warehouse_receive_packing_list_id,
|
vt_receive_packing_lists.new_origin_warehouse_receive_packing_list_id,
|
||||||
vt_receive_packing_lists.old_origin_warehouse_receive_packing_list_id,
|
vt_receive_packing_lists.old_origin_warehouse_receive_packing_list_id,
|
||||||
vt_receive_packing_lists.booking_id,
|
vt_receive_packing_lists.booking_id,
|
||||||
vt_receive_packing_lists.warehouse_order_number,
|
vt_receive_packing_lists.warehouse_order_number,
|
||||||
@@ -65,8 +65,8 @@ count_shipping_list_booking_id_row AS (
|
|||||||
|
|
||||||
vt_shipping_packing_list_remove_booking_id_more_than_one AS (
|
vt_shipping_packing_list_remove_booking_id_more_than_one AS (
|
||||||
SELECT
|
SELECT
|
||||||
vt_shipping_packing_lists.origin_warehouse_shipping_packing_list_id,
|
vt_shipping_packing_lists.new_warehouse_shipping_packing_list_id,
|
||||||
vt_shipping_packing_lists.old_origin_warehouse_shipping_packing_list_id,
|
vt_shipping_packing_lists.old_warehouse_shipping_packing_list_id,
|
||||||
vt_shipping_packing_lists.booking_id,
|
vt_shipping_packing_lists.booking_id,
|
||||||
vt_shipping_packing_lists.warehouse_order_number,
|
vt_shipping_packing_lists.warehouse_order_number,
|
||||||
count_shipping_list_booking_id_row.number_of_booking_id_occur
|
count_shipping_list_booking_id_row.number_of_booking_id_occur
|
||||||
@@ -82,7 +82,7 @@ vt_shipping_packing_list_remove_booking_id_more_than_one AS (
|
|||||||
-- -- create_new_mapping_table
|
-- -- create_new_mapping_table
|
||||||
receive_and_shipping_packing_list_mapping AS (
|
receive_and_shipping_packing_list_mapping AS (
|
||||||
SELECT
|
SELECT
|
||||||
vt_receive_packing_list_remove_booking_id_more_than_one.origin_warehouse_receive_packing_list_id,
|
vt_receive_packing_list_remove_booking_id_more_than_one.new_origin_warehouse_receive_packing_list_id,
|
||||||
vt_receive_packing_list_remove_booking_id_more_than_one.old_origin_warehouse_receive_packing_list_id,
|
vt_receive_packing_list_remove_booking_id_more_than_one.old_origin_warehouse_receive_packing_list_id,
|
||||||
vt_receive_packing_list_remove_booking_id_more_than_one.booking_id,
|
vt_receive_packing_list_remove_booking_id_more_than_one.booking_id,
|
||||||
|
|
||||||
@@ -90,8 +90,8 @@ receive_and_shipping_packing_list_mapping AS (
|
|||||||
'/',
|
'/',
|
||||||
vt_shipping_packing_list_remove_booking_id_more_than_one.warehouse_order_number) AS warehouse_order_number,
|
vt_shipping_packing_list_remove_booking_id_more_than_one.warehouse_order_number) AS warehouse_order_number,
|
||||||
|
|
||||||
vt_shipping_packing_list_remove_booking_id_more_than_one.origin_warehouse_shipping_packing_list_id,
|
vt_shipping_packing_list_remove_booking_id_more_than_one.new_warehouse_shipping_packing_list_id,
|
||||||
vt_shipping_packing_list_remove_booking_id_more_than_one.old_origin_warehouse_shipping_packing_list_id,
|
vt_shipping_packing_list_remove_booking_id_more_than_one.old_warehouse_shipping_packing_list_id,
|
||||||
|
|
||||||
'{{ 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
|
||||||
|
|
||||||
@@ -106,11 +106,11 @@ receive_and_shipping_packing_list_mapping AS (
|
|||||||
final__int_shipping__vt_origin_warehouse_receive_packing_list_brg_shipping_packing_lists AS (
|
final__int_shipping__vt_origin_warehouse_receive_packing_list_brg_shipping_packing_lists AS (
|
||||||
SELECT
|
SELECT
|
||||||
-- ids
|
-- ids
|
||||||
origin_warehouse_receive_packing_list_id,
|
new_origin_warehouse_receive_packing_list_id,
|
||||||
old_origin_warehouse_receive_packing_list_id,
|
old_origin_warehouse_receive_packing_list_id,
|
||||||
booking_id,
|
booking_id,
|
||||||
origin_warehouse_shipping_packing_list_id,
|
new_warehouse_shipping_packing_list_id,
|
||||||
old_origin_warehouse_shipping_packing_list_id,
|
old_warehouse_shipping_packing_list_id,
|
||||||
|
|
||||||
-- dimensions
|
-- dimensions
|
||||||
warehouse_order_number,
|
warehouse_order_number,
|
||||||
|
|||||||
@@ -5,8 +5,8 @@ WITH companies AS (
|
|||||||
SELECT * FROM {{ ref('dim_shipping__companies') }}
|
SELECT * FROM {{ ref('dim_shipping__companies') }}
|
||||||
),
|
),
|
||||||
|
|
||||||
origin_warehouse_shipping_packing_lists AS (
|
orders AS (
|
||||||
SELECT * FROM {{ ref('fct_shipping__origin_warehouse_shipping_packing_lists') }}
|
SELECT * FROM {{ ref('fct_shipping__orders') }}
|
||||||
),
|
),
|
||||||
|
|
||||||
|
|
||||||
@@ -19,7 +19,7 @@ company_register_month_year AS (
|
|||||||
companies.sub_company_created_datetime,
|
companies.sub_company_created_datetime,
|
||||||
|
|
||||||
IFF(
|
IFF(
|
||||||
MAX(origin_warehouse_shipping_packing_lists.origin_warehouse_shipping_order_created_datetime) IS NULL,
|
MAX(orders.order_created_datetime) IS NULL,
|
||||||
1,
|
1,
|
||||||
0
|
0
|
||||||
) AS is_never_order_company,
|
) AS is_never_order_company,
|
||||||
@@ -31,13 +31,13 @@ company_register_month_year AS (
|
|||||||
|
|
||||||
DATE(DATE_TRUNC(
|
DATE(DATE_TRUNC(
|
||||||
'MONTH',
|
'MONTH',
|
||||||
MIN(origin_warehouse_shipping_packing_lists.origin_warehouse_shipping_order_created_datetime)
|
MIN(orders.order_created_datetime)
|
||||||
)) AS first_order_month_year
|
)) AS first_order_month_year
|
||||||
|
|
||||||
FROM companies
|
FROM companies
|
||||||
|
|
||||||
LEFT JOIN origin_warehouse_shipping_packing_lists
|
LEFT JOIN orders
|
||||||
ON (companies.sub_company_id = origin_warehouse_shipping_packing_lists.sub_company_id)
|
ON (companies.sub_company_id = orders.sub_company_id)
|
||||||
|
|
||||||
GROUP BY
|
GROUP BY
|
||||||
companies.sub_company_id,
|
companies.sub_company_id,
|
||||||
@@ -50,21 +50,21 @@ company_register_month_year AS (
|
|||||||
company_order_count_from_registration_date AS (
|
company_order_count_from_registration_date AS (
|
||||||
|
|
||||||
SELECT
|
SELECT
|
||||||
origin_warehouse_shipping_packing_lists.sub_company_id,
|
orders.sub_company_id,
|
||||||
|
|
||||||
DATEDIFF(
|
DATEDIFF(
|
||||||
MONTH,
|
MONTH,
|
||||||
company_register_month_year.sub_company_created_datetime,
|
company_register_month_year.sub_company_created_datetime,
|
||||||
origin_warehouse_shipping_packing_lists.origin_warehouse_shipping_order_created_datetime
|
orders.order_created_datetime
|
||||||
) AS order_month
|
) AS order_month
|
||||||
|
|
||||||
FROM origin_warehouse_shipping_packing_lists
|
FROM orders
|
||||||
|
|
||||||
LEFT JOIN company_register_month_year
|
LEFT JOIN company_register_month_year
|
||||||
ON (origin_warehouse_shipping_packing_lists.sub_company_id = company_register_month_year.sub_company_id)
|
ON (orders.sub_company_id = company_register_month_year.sub_company_id)
|
||||||
|
|
||||||
GROUP BY
|
GROUP BY
|
||||||
origin_warehouse_shipping_packing_lists.sub_company_id,
|
orders.sub_company_id,
|
||||||
order_month
|
order_month
|
||||||
|
|
||||||
),
|
),
|
||||||
@@ -72,22 +72,22 @@ company_order_count_from_registration_date AS (
|
|||||||
company_first_order_from_registration_date AS (
|
company_first_order_from_registration_date AS (
|
||||||
|
|
||||||
SELECT
|
SELECT
|
||||||
origin_warehouse_shipping_packing_lists.sub_company_id,
|
orders.sub_company_id,
|
||||||
DATE(DATE_TRUNC('MONTH', sub_company_created_datetime)) AS sub_company_created_datetime,
|
DATE(DATE_TRUNC('MONTH', sub_company_created_datetime)) AS sub_company_created_datetime,
|
||||||
|
|
||||||
MIN(DATEDIFF(
|
MIN(DATEDIFF(
|
||||||
MONTH,
|
MONTH,
|
||||||
company_register_month_year.sub_company_created_datetime,
|
company_register_month_year.sub_company_created_datetime,
|
||||||
origin_warehouse_shipping_packing_lists.origin_warehouse_shipping_order_created_datetime
|
orders.order_created_datetime
|
||||||
)) AS first_order_month
|
)) AS first_order_month
|
||||||
|
|
||||||
FROM origin_warehouse_shipping_packing_lists
|
FROM orders
|
||||||
|
|
||||||
LEFT JOIN company_register_month_year
|
LEFT JOIN company_register_month_year
|
||||||
ON (origin_warehouse_shipping_packing_lists.sub_company_id = company_register_month_year.sub_company_id)
|
ON (orders.sub_company_id = company_register_month_year.sub_company_id)
|
||||||
|
|
||||||
GROUP BY
|
GROUP BY
|
||||||
origin_warehouse_shipping_packing_lists.sub_company_id,
|
orders.sub_company_id,
|
||||||
sub_company_created_datetime
|
sub_company_created_datetime
|
||||||
|
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -7,8 +7,8 @@ WITH companies AS (
|
|||||||
SELECT * FROM {{ ref('dim_shipping__companies') }}
|
SELECT * FROM {{ ref('dim_shipping__companies') }}
|
||||||
),
|
),
|
||||||
|
|
||||||
origin_warehouse_shipping_packing_lists AS (
|
orders AS (
|
||||||
SELECT * FROM {{ ref('fct_shipping__origin_warehouse_shipping_packing_lists') }}
|
SELECT * FROM {{ ref('fct_shipping__orders') }}
|
||||||
),
|
),
|
||||||
|
|
||||||
|
|
||||||
@@ -27,10 +27,10 @@ order_date_row_rank AS (
|
|||||||
SELECT
|
SELECT
|
||||||
*,
|
*,
|
||||||
ROW_NUMBER() OVER (
|
ROW_NUMBER() OVER (
|
||||||
PARTITION BY sub_company_id ORDER BY origin_warehouse_shipping_order_created_datetime, origin_warehouse_shipping_packing_list_id
|
PARTITION BY sub_company_id ORDER BY order_created_datetime, old_mid_mile_packing_list_id
|
||||||
) AS row_rank_index
|
) AS row_rank_index
|
||||||
|
|
||||||
FROM origin_warehouse_shipping_packing_lists
|
FROM orders
|
||||||
|
|
||||||
),
|
),
|
||||||
|
|
||||||
@@ -41,7 +41,7 @@ get_orders_of_next_and_previous_order_date AS (
|
|||||||
companies.sub_company_created_datetime,
|
companies.sub_company_created_datetime,
|
||||||
companies.sub_company_marking_id,
|
companies.sub_company_marking_id,
|
||||||
companies.is_migrated_company,
|
companies.is_migrated_company,
|
||||||
previous_order_date_row_rank_clone.origin_warehouse_shipping_order_created_datetime AS previous_order_created_datetime
|
previous_order_date_row_rank_clone.order_created_datetime AS previous_order_created_datetime
|
||||||
|
|
||||||
FROM order_date_row_rank
|
FROM order_date_row_rank
|
||||||
|
|
||||||
@@ -69,7 +69,7 @@ company_register_events AS (
|
|||||||
'Register' AS register_event,
|
'Register' AS register_event,
|
||||||
|
|
||||||
IFF(
|
IFF(
|
||||||
MAX(origin_warehouse_shipping_packing_lists.sub_company_id) IS NULL,
|
MAX(orders.sub_company_id) IS NULL,
|
||||||
1,
|
1,
|
||||||
0
|
0
|
||||||
) AS is_never_order_company,
|
) AS is_never_order_company,
|
||||||
@@ -78,7 +78,7 @@ company_register_events AS (
|
|||||||
DATEDIFF(
|
DATEDIFF(
|
||||||
DAY,
|
DAY,
|
||||||
remove_supplier_company.sub_company_created_datetime,
|
remove_supplier_company.sub_company_created_datetime,
|
||||||
COALESCE(MIN(origin_warehouse_shipping_packing_lists.origin_warehouse_shipping_order_created_datetime), CURRENT_DATE())
|
COALESCE(MIN(orders.order_created_datetime), CURRENT_DATE())
|
||||||
) >= {{day_use_to_churn}},
|
) >= {{day_use_to_churn}},
|
||||||
'Churn',
|
'Churn',
|
||||||
NULL
|
NULL
|
||||||
@@ -94,8 +94,8 @@ company_register_events AS (
|
|||||||
|
|
||||||
FROM remove_supplier_company
|
FROM remove_supplier_company
|
||||||
|
|
||||||
LEFT JOIN origin_warehouse_shipping_packing_lists
|
LEFT JOIN orders
|
||||||
ON (remove_supplier_company.sub_company_id = origin_warehouse_shipping_packing_lists.sub_company_id)
|
ON (remove_supplier_company.sub_company_id = orders.sub_company_id)
|
||||||
|
|
||||||
GROUP BY
|
GROUP BY
|
||||||
remove_supplier_company.sub_company_id,
|
remove_supplier_company.sub_company_id,
|
||||||
@@ -112,10 +112,10 @@ first_time_repeat_churn_reactive_order_events AS (
|
|||||||
sub_company_id,
|
sub_company_id,
|
||||||
sub_company_marking_id,
|
sub_company_marking_id,
|
||||||
is_migrated_company,
|
is_migrated_company,
|
||||||
0 AS is_never_order_company,
|
0 AS is_never_order_company,
|
||||||
origin_warehouse_shipping_packing_list_id,
|
old_mid_mile_packing_list_id,
|
||||||
origin_warehouse_shipping_order_status,
|
first_mile_receive_status,
|
||||||
origin_warehouse_shipping_order_created_datetime AS event_datetime,
|
order_created_datetime AS event_datetime,
|
||||||
service_type,
|
service_type,
|
||||||
total_package_CBM,
|
total_package_CBM,
|
||||||
|
|
||||||
@@ -124,8 +124,8 @@ first_time_repeat_churn_reactive_order_events AS (
|
|||||||
IFF(
|
IFF(
|
||||||
DATEDIFF(
|
DATEDIFF(
|
||||||
DAY,
|
DAY,
|
||||||
origin_warehouse_shipping_order_created_datetime,
|
order_created_datetime,
|
||||||
COALESCE(next_origin_warehouse_shipping_order_created_datetime, CURRENT_DATE())
|
COALESCE(next_order_created_datetime, CURRENT_DATE())
|
||||||
) >= {{day_use_to_churn}},
|
) >= {{day_use_to_churn}},
|
||||||
'Churn',
|
'Churn',
|
||||||
NULL
|
NULL
|
||||||
@@ -135,7 +135,7 @@ first_time_repeat_churn_reactive_order_events AS (
|
|||||||
DATEDIFF(
|
DATEDIFF(
|
||||||
DAY,
|
DAY,
|
||||||
COALESCE(previous_order_created_datetime, sub_company_created_datetime),
|
COALESCE(previous_order_created_datetime, sub_company_created_datetime),
|
||||||
origin_warehouse_shipping_order_created_datetime
|
order_created_datetime
|
||||||
) >= {{day_use_to_churn}},
|
) >= {{day_use_to_churn}},
|
||||||
'Reactive',
|
'Reactive',
|
||||||
NULL
|
NULL
|
||||||
@@ -151,6 +151,7 @@ first_time_repeat_churn_reactive_order_events AS (
|
|||||||
) AS concat_event
|
) AS concat_event
|
||||||
|
|
||||||
FROM get_orders_of_next_and_previous_order_date
|
FROM get_orders_of_next_and_previous_order_date
|
||||||
|
|
||||||
),
|
),
|
||||||
|
|
||||||
union_event_tables AS (
|
union_event_tables AS (
|
||||||
@@ -160,8 +161,8 @@ union_event_tables AS (
|
|||||||
sub_company_marking_id,
|
sub_company_marking_id,
|
||||||
is_migrated_company,
|
is_migrated_company,
|
||||||
is_never_order_company,
|
is_never_order_company,
|
||||||
NULL AS origin_warehouse_shipping_packing_list_id,
|
NULL AS old_mid_mile_packing_list_id,
|
||||||
NULL AS origin_warehouse_shipping_order_status,
|
NULL AS first_mile_receive_status,
|
||||||
NULL AS service_type,
|
NULL AS service_type,
|
||||||
NULL AS total_package_CBM,
|
NULL AS total_package_CBM,
|
||||||
NULL AS first_time_order_event,
|
NULL AS first_time_order_event,
|
||||||
@@ -182,8 +183,8 @@ union_event_tables AS (
|
|||||||
sub_company_marking_id,
|
sub_company_marking_id,
|
||||||
is_migrated_company,
|
is_migrated_company,
|
||||||
is_never_order_company,
|
is_never_order_company,
|
||||||
origin_warehouse_shipping_packing_list_id,
|
old_mid_mile_packing_list_id,
|
||||||
origin_warehouse_shipping_order_status,
|
first_mile_receive_status,
|
||||||
service_type,
|
service_type,
|
||||||
total_package_CBM,
|
total_package_CBM,
|
||||||
first_time_order_event,
|
first_time_order_event,
|
||||||
@@ -206,12 +207,12 @@ final__rep_shipping__company_engagement_behaviors AS (
|
|||||||
-- id
|
-- id
|
||||||
sub_company_id,
|
sub_company_id,
|
||||||
sub_company_marking_id,
|
sub_company_marking_id,
|
||||||
origin_warehouse_shipping_packing_list_id
|
old_mid_mile_packing_list_id
|
||||||
|
|
||||||
-- dimension
|
-- dimension
|
||||||
is_migrated_company,
|
is_migrated_company,
|
||||||
is_never_order_company,
|
is_never_order_company,
|
||||||
origin_warehouse_shipping_order_status,
|
first_mile_receive_status,
|
||||||
service_type,
|
service_type,
|
||||||
first_time_order_event,
|
first_time_order_event,
|
||||||
repeat_event,
|
repeat_event,
|
||||||
|
|||||||
@@ -2,13 +2,14 @@
|
|||||||
-- SOURCE: preset_custom_filter Column: day_use_to_churn
|
-- SOURCE: preset_custom_filter Column: day_use_to_churn
|
||||||
{% set day_use_to_churn = 120 %}
|
{% set day_use_to_churn = 120 %}
|
||||||
|
|
||||||
|
|
||||||
-- IMPORT
|
-- IMPORT
|
||||||
WITH companies AS (
|
WITH companies AS (
|
||||||
SELECT * FROM {{ ref('dim_shipping__companies') }}
|
SELECT * FROM {{ ref('dim_shipping__companies') }}
|
||||||
),
|
),
|
||||||
|
|
||||||
origin_warehouse_shipping_packing_lists AS (
|
orders AS (
|
||||||
SELECT * FROM {{ ref('fct_shipping__origin_warehouse_shipping_packing_lists') }}
|
SELECT * FROM {{ ref('fct_shipping__orders') }}
|
||||||
),
|
),
|
||||||
|
|
||||||
|
|
||||||
@@ -21,18 +22,18 @@ company_agg AS (
|
|||||||
companies.is_migrated_company,
|
companies.is_migrated_company,
|
||||||
companies.sub_company_created_datetime,
|
companies.sub_company_created_datetime,
|
||||||
|
|
||||||
COUNT(origin_warehouse_shipping_packing_lists.origin_warehouse_shipping_packing_list_id) AS count_order,
|
COUNT(orders.old_mid_mile_packing_list_id) AS count_order,
|
||||||
MAX(origin_warehouse_shipping_packing_lists.origin_warehouse_shipping_order_created_datetime) AS last_order_created_datetime,
|
MAX(orders.order_created_datetime) AS last_order_created_datetime,
|
||||||
COALESCE(last_order_created_datetime, sub_company_created_datetime) AS last_activity_datetime,
|
COALESCE(last_order_created_datetime, sub_company_created_datetime) AS last_activity_datetime,
|
||||||
|
|
||||||
COUNT(IFF(
|
COUNT(IFF(
|
||||||
origin_warehouse_shipping_packing_lists.origin_warehouse_shipping_order_status IN ('APPROVED', 'COMPLETED'),
|
orders.first_mile_receive_status IN ('APPROVED', 'COMPLETED'),
|
||||||
origin_warehouse_shipping_packing_lists.origin_warehouse_shipping_packing_list_id,
|
orders.old_mid_mile_packing_list_id,
|
||||||
null
|
null
|
||||||
)) AS count_approved_completed_order,
|
)) AS count_approved_completed_order,
|
||||||
|
|
||||||
IFF(MAX(
|
IFF(MAX(
|
||||||
origin_warehouse_shipping_packing_lists.origin_warehouse_shipping_order_created_datetime IS NULL
|
orders.order_created_datetime IS NULL
|
||||||
), 1, 0
|
), 1, 0
|
||||||
) AS is_never_order_company,
|
) AS is_never_order_company,
|
||||||
|
|
||||||
@@ -51,8 +52,8 @@ company_agg AS (
|
|||||||
|
|
||||||
FROM companies
|
FROM companies
|
||||||
|
|
||||||
LEFT JOIN origin_warehouse_shipping_packing_lists
|
LEFT JOIN orders
|
||||||
ON (companies.sub_company_id = origin_warehouse_shipping_packing_lists.sub_company_id)
|
ON (companies.sub_company_id = orders.sub_company_id)
|
||||||
|
|
||||||
GROUP BY
|
GROUP BY
|
||||||
companies.sub_company_id,
|
companies.sub_company_id,
|
||||||
|
|||||||
@@ -3,53 +3,60 @@
|
|||||||
{% set quarterly_cbm_rank_list = [1.75, 10] %}
|
{% set quarterly_cbm_rank_list = [1.75, 10] %}
|
||||||
{% set yearly_cbm_rank_list = [2.5, 20] %}
|
{% set yearly_cbm_rank_list = [2.5, 20] %}
|
||||||
|
|
||||||
|
|
||||||
-- IMPORT
|
-- IMPORT
|
||||||
WITH shipping_companies AS (
|
WITH shipping_companies AS (
|
||||||
SELECT * FROM {{ ref('dim_shipping__companies') }}
|
SELECT * FROM {{ ref('dim_shipping__companies') }}
|
||||||
),
|
),
|
||||||
|
|
||||||
origin_warehouse_shipping_packing_lists AS (
|
orders AS (
|
||||||
SELECT * FROM {{ ref('fct_shipping__origin_warehouse_shipping_packing_lists') }}
|
SELECT * FROM {{ ref('fct_shipping__orders') }}
|
||||||
),
|
),
|
||||||
|
|
||||||
dates AS (
|
dates AS (
|
||||||
SELECT * FROM {{ ref('dim__dates') }}
|
SELECT * FROM {{ ref('dim__dates') }}
|
||||||
),
|
),
|
||||||
|
|
||||||
|
|
||||||
-- LOGIC
|
-- LOGIC
|
||||||
{% for time_grain in time_grain_list %}
|
{% for time_grain in time_grain_list %}
|
||||||
|
|
||||||
sub_company_first_time_order_{{time_grain}} AS (
|
sub_company_first_time_order_{{time_grain}} AS (
|
||||||
|
|
||||||
SELECT
|
SELECT
|
||||||
origin_warehouse_shipping_packing_lists.sub_company_id,
|
orders.sub_company_id,
|
||||||
shipping_companies.sub_company_marking_id,
|
shipping_companies.sub_company_marking_id,
|
||||||
MIN(dates.first_day_of_{{time_grain}}) AS company_first_time_order_{{time_grain}}
|
MIN(dates.first_day_of_{{time_grain}}) AS company_first_time_order_{{time_grain}}
|
||||||
|
|
||||||
FROM origin_warehouse_shipping_packing_lists
|
FROM orders
|
||||||
|
|
||||||
LEFT JOIN shipping_companies
|
LEFT JOIN shipping_companies
|
||||||
ON (origin_warehouse_shipping_packing_lists.sub_company_id = shipping_companies.sub_company_id)
|
ON (orders.sub_company_id = shipping_companies.sub_company_id)
|
||||||
|
|
||||||
LEFT JOIN dates
|
LEFT JOIN dates
|
||||||
ON (date(origin_warehouse_shipping_packing_lists.origin_warehouse_shipping_order_created_datetime) = dates.date_day)
|
ON (date(orders.order_created_datetime) = dates.date_day)
|
||||||
|
|
||||||
GROUP BY
|
GROUP BY
|
||||||
origin_warehouse_shipping_packing_lists.sub_company_id,
|
orders.sub_company_id,
|
||||||
shipping_companies.sub_company_marking_id
|
shipping_companies.sub_company_marking_id
|
||||||
|
|
||||||
),
|
),
|
||||||
|
|
||||||
origin_warehouse_shipping_packing_list_{{time_grain}} AS (
|
origin_warehouse_shipping_packing_list_{{time_grain}} AS (
|
||||||
|
|
||||||
SELECT
|
SELECT
|
||||||
origin_warehouse_shipping_packing_lists.*,
|
orders.*,
|
||||||
dates.first_day_of_{{time_grain}} AS origin_warehouse_shipping_order_created_{{time_grain}}
|
dates.first_day_of_{{time_grain}} AS order_created_{{time_grain}}
|
||||||
|
|
||||||
FROM origin_warehouse_shipping_packing_lists
|
FROM orders
|
||||||
|
|
||||||
LEFT JOIN dates
|
LEFT JOIN dates
|
||||||
ON (date(origin_warehouse_shipping_packing_lists.origin_warehouse_shipping_order_created_datetime) = dates.date_day)
|
ON (date(orders.order_created_datetime) = dates.date_day)
|
||||||
|
|
||||||
),
|
),
|
||||||
|
|
||||||
register_date_and_company_id_combination_{{time_grain}} AS (
|
register_date_and_company_id_combination_{{time_grain}} AS (
|
||||||
|
|
||||||
SELECT
|
SELECT
|
||||||
DISTINCT c.company_first_time_order_{{time_grain}} AS event_date,
|
DISTINCT c.company_first_time_order_{{time_grain}} AS event_date,
|
||||||
'{{time_grain|upper}}LY' AS time_grain_filter,
|
'{{time_grain|upper}}LY' AS time_grain_filter,
|
||||||
@@ -63,23 +70,23 @@ dates AS (
|
|||||||
WHERE c.company_first_time_order_{{time_grain}} >= c1.company_first_time_order_{{time_grain}}
|
WHERE c.company_first_time_order_{{time_grain}} >= c1.company_first_time_order_{{time_grain}}
|
||||||
|
|
||||||
ORDER BY event_date
|
ORDER BY event_date
|
||||||
|
|
||||||
),
|
),
|
||||||
|
|
||||||
company_sale_by_time_grain_{{time_grain}} AS (
|
company_sale_by_time_grain_{{time_grain}} AS (
|
||||||
|
|
||||||
SELECT
|
SELECT
|
||||||
register_date_and_company_id_combination_{{time_grain}}.event_date,
|
register_date_and_company_id_combination_{{time_grain}}.event_date,
|
||||||
register_date_and_company_id_combination_{{time_grain}}.time_grain_filter,
|
register_date_and_company_id_combination_{{time_grain}}.time_grain_filter,
|
||||||
register_date_and_company_id_combination_{{time_grain}}.sub_company_id,
|
register_date_and_company_id_combination_{{time_grain}}.sub_company_id,
|
||||||
register_date_and_company_id_combination_{{time_grain}}.sub_company_marking_id,
|
register_date_and_company_id_combination_{{time_grain}}.sub_company_marking_id,
|
||||||
|
|
||||||
SUM(IFF(origin_warehouse_shipping_order_status = 'APPROVED' OR
|
SUM(IFF(first_mile_receive_status IN ('APPROVED', 'COMPLETED'),
|
||||||
origin_warehouse_shipping_order_status = 'COMPLETED',
|
|
||||||
total_order_cbm,
|
total_order_cbm,
|
||||||
0)) AS total_cbm_completed_approved,
|
0)) AS total_cbm_completed_approved,
|
||||||
|
|
||||||
COUNT(DISTINCT(IFF(origin_warehouse_shipping_order_status = 'APPROVED' OR
|
COUNT(DISTINCT(IFF(first_mile_receive_status IN ('APPROVED', 'COMPLETED'),
|
||||||
origin_warehouse_shipping_order_status = 'COMPLETED',
|
old_mid_mile_packing_list_id,
|
||||||
old_origin_warehouse_shipping_packing_list_id,
|
|
||||||
NULL))) AS total_order_completed_approved,
|
NULL))) AS total_order_completed_approved,
|
||||||
|
|
||||||
{% if time_grain == "month" -%}
|
{% if time_grain == "month" -%}
|
||||||
@@ -122,26 +129,34 @@ dates AS (
|
|||||||
LEFT JOIN origin_warehouse_shipping_packing_list_{{time_grain}}
|
LEFT JOIN origin_warehouse_shipping_packing_list_{{time_grain}}
|
||||||
ON (register_date_and_company_id_combination_{{time_grain}}.sub_company_id = origin_warehouse_shipping_packing_list_{{time_grain}}.sub_company_id
|
ON (register_date_and_company_id_combination_{{time_grain}}.sub_company_id = origin_warehouse_shipping_packing_list_{{time_grain}}.sub_company_id
|
||||||
AND
|
AND
|
||||||
register_date_and_company_id_combination_{{time_grain}}.event_date = origin_warehouse_shipping_packing_list_{{time_grain}}.origin_warehouse_shipping_order_created_{{time_grain}})
|
register_date_and_company_id_combination_{{time_grain}}.event_date = origin_warehouse_shipping_packing_list_{{time_grain}}.order_created_{{time_grain}})
|
||||||
|
|
||||||
GROUP BY
|
GROUP BY
|
||||||
register_date_and_company_id_combination_{{time_grain}}.event_date,
|
register_date_and_company_id_combination_{{time_grain}}.event_date,
|
||||||
register_date_and_company_id_combination_{{time_grain}}.time_grain_filter,
|
register_date_and_company_id_combination_{{time_grain}}.time_grain_filter,
|
||||||
register_date_and_company_id_combination_{{time_grain}}.sub_company_id,
|
register_date_and_company_id_combination_{{time_grain}}.sub_company_id,
|
||||||
register_date_and_company_id_combination_{{time_grain}}.sub_company_marking_id
|
register_date_and_company_id_combination_{{time_grain}}.sub_company_marking_id
|
||||||
|
|
||||||
),
|
),
|
||||||
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
union_all_time_grain AS (
|
union_all_time_grain AS (
|
||||||
|
|
||||||
{% for time_grain in time_grain_list %}
|
{% for time_grain in time_grain_list %}
|
||||||
|
|
||||||
SELECT * FROM company_sale_by_time_grain_{{time_grain}}
|
SELECT * FROM company_sale_by_time_grain_{{time_grain}}
|
||||||
|
|
||||||
{%- if not loop.last %} UNION{% endif -%}
|
{%- if not loop.last %} UNION{% endif -%}
|
||||||
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
),
|
),
|
||||||
|
|
||||||
|
|
||||||
--FINAL
|
--FINAL
|
||||||
final__rep_shipping__company_order_usages AS (
|
final__rep_shipping__company_order_usages AS (
|
||||||
|
|
||||||
SELECT
|
SELECT
|
||||||
-- ids
|
-- ids
|
||||||
{{ dbt_utils.generate_surrogate_key(['event_date', 'time_grain_filter', 'sub_company_id']) }} AS company_order_usage_sk,
|
{{ dbt_utils.generate_surrogate_key(['event_date', 'time_grain_filter', 'sub_company_id']) }} AS company_order_usage_sk,
|
||||||
@@ -164,6 +179,7 @@ final__rep_shipping__company_order_usages AS (
|
|||||||
'{{ 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 union_all_time_grain
|
FROM union_all_time_grain
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
||||||
SELECT * FROM final__rep_shipping__company_order_usages
|
SELECT * FROM final__rep_shipping__company_order_usages
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
--IMPORT
|
--IMPORT
|
||||||
WITH origin_warehouse_shipping_packing_lists AS (
|
WITH orders AS (
|
||||||
SELECT * FROM {{ ref('fct_shipping__origin_warehouse_shipping_packing_lists') }}
|
SELECT * FROM {{ ref('fct_shipping__orders') }}
|
||||||
),
|
),
|
||||||
|
|
||||||
companies AS (
|
companies AS (
|
||||||
@@ -9,9 +9,11 @@ companies AS (
|
|||||||
|
|
||||||
|
|
||||||
--LOGIC
|
--LOGIC
|
||||||
join_tables AS (
|
orders_join_companies AS (
|
||||||
|
|
||||||
SELECT
|
SELECT
|
||||||
origin_warehouse_shipping_packing_lists.*,
|
orders.*,
|
||||||
|
|
||||||
companies.sub_company_marking_id,
|
companies.sub_company_marking_id,
|
||||||
companies.is_migrated_company,
|
companies.is_migrated_company,
|
||||||
companies.parent_company_id,
|
companies.parent_company_id,
|
||||||
@@ -19,117 +21,88 @@ join_tables AS (
|
|||||||
companies.sub_company_created_datetime,
|
companies.sub_company_created_datetime,
|
||||||
companies.state_name AS sub_company_state_name
|
companies.state_name AS sub_company_state_name
|
||||||
|
|
||||||
FROM (SELECT * EXCLUDE _dbt_ran_datetime FROM origin_warehouse_shipping_packing_lists) AS origin_warehouse_shipping_packing_lists
|
FROM (SELECT * EXCLUDE _dbt_ran_datetime FROM orders) AS orders
|
||||||
|
|
||||||
LEFT JOIN companies
|
LEFT JOIN companies
|
||||||
ON (origin_warehouse_shipping_packing_lists.sub_company_id = companies.sub_company_id)
|
ON (orders.sub_company_id = companies.sub_company_id)
|
||||||
|
|
||||||
),
|
),
|
||||||
|
|
||||||
create_metrics AS (
|
create_metrics AS (
|
||||||
|
|
||||||
SELECT
|
SELECT
|
||||||
*,
|
*,
|
||||||
|
|
||||||
CASE
|
CASE
|
||||||
WHEN ROW_NUMBER() OVER (PARTITION BY join_tables.parent_company_id ORDER BY join_tables.origin_warehouse_shipping_order_created_datetime) = 1 THEN 1
|
WHEN ROW_NUMBER() OVER (PARTITION BY orders_join_companies.parent_company_id ORDER BY orders_join_companies.order_created_datetime) = 1 THEN 1
|
||||||
ELSE 0
|
ELSE 0
|
||||||
END AS is_first_time_parent_company,
|
END AS is_first_time_parent_company,
|
||||||
|
|
||||||
CASE
|
CASE
|
||||||
WHEN join_tables.origin_warehouse_shipping_order_status = 'COMPLETED'
|
WHEN orders_join_companies.first_mile_receive_status IN ('APPROVED', 'COMPLETED')
|
||||||
AND
|
AND
|
||||||
MIN(IFF(join_tables.origin_warehouse_shipping_order_status = 'COMPLETED', join_tables.origin_warehouse_shipping_order_created_datetime, NULL))
|
MIN(IFF(orders_join_companies.first_mile_receive_status IN ('APPROVED', 'COMPLETED'),
|
||||||
OVER (PARTITION BY join_tables.parent_company_id)
|
orders_join_companies.order_created_datetime,
|
||||||
= join_tables.origin_warehouse_shipping_order_created_datetime
|
NULL)
|
||||||
THEN 1
|
) OVER (
|
||||||
|
PARTITION BY orders_join_companies.parent_company_id
|
||||||
|
)
|
||||||
|
= orders_join_companies.order_created_datetime
|
||||||
|
THEN 1
|
||||||
ELSE 0
|
ELSE 0
|
||||||
END AS is_first_time_parent_company_completed,
|
END AS is_first_time_parent_company_completed,
|
||||||
|
|
||||||
'{{ 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 join_tables
|
FROM orders_join_companies
|
||||||
|
|
||||||
),
|
),
|
||||||
|
|
||||||
|
|
||||||
--FINAL
|
--FINAL
|
||||||
final__rep_shipping__origin_warehouse_shipping_orders AS (
|
final__rep_shipping__origin_warehouse_shipping_orders AS (
|
||||||
|
|
||||||
SELECT
|
SELECT
|
||||||
-- ids
|
-- ids
|
||||||
origin_warehouse_shipping_packing_list_id,
|
new_first_mile_packing_list_id,
|
||||||
old_origin_warehouse_shipping_packing_list_id,
|
old_first_mile_packing_list_id,
|
||||||
|
new_mid_mile_packing_list_id,
|
||||||
|
old_mid_mile_packing_list_id,
|
||||||
booking_id,
|
booking_id,
|
||||||
parent_company_id,
|
parent_company_id,
|
||||||
sub_company_id,
|
sub_company_id,
|
||||||
sub_company_marking_id,
|
sub_company_marking_id,
|
||||||
warehouse_sub_company_id,
|
|
||||||
invoice_sub_company_id,
|
invoice_sub_company_id,
|
||||||
payment_sub_company_id,
|
payment_sub_company_id,
|
||||||
container_id,
|
|
||||||
container_warehouse_sub_company_id,
|
|
||||||
container_transport_arrangement_id,
|
|
||||||
destination_warehouse_transport_arrangement_id,
|
|
||||||
|
|
||||||
-- dimensions
|
|
||||||
warehouse_order_number,
|
warehouse_order_number,
|
||||||
reference_contract,
|
|
||||||
has_replaced_by_new_origin_warehouse_shipping_packing_list_id,
|
-- dimensions
|
||||||
company_type,
|
|
||||||
is_migrated_company,
|
is_migrated_company,
|
||||||
is_first_time_parent_company,
|
is_first_time_parent_company,
|
||||||
is_first_time_parent_company_completed,
|
is_first_time_parent_company_completed,
|
||||||
is_first_time_sub_company,
|
is_first_time_sub_company,
|
||||||
is_first_time_sub_company_completed,
|
is_first_time_sub_company_completed,
|
||||||
|
company_type,
|
||||||
sub_company_state_name,
|
sub_company_state_name,
|
||||||
service_type,
|
service_type,
|
||||||
package_descriptions,
|
|
||||||
delivery_address_reference,
|
|
||||||
delivery_address_line_one,
|
|
||||||
delivery_address_line_two,
|
|
||||||
delivery_address_district_name,
|
|
||||||
delivery_address_state_name,
|
|
||||||
delivery_address_country_name,
|
|
||||||
delivery_address_postcode,
|
|
||||||
delivery_address_type,
|
|
||||||
is_default_delivery_address,
|
|
||||||
delivery_address_status,
|
|
||||||
billing_address_reference,
|
|
||||||
billing_address_line_one,
|
|
||||||
billing_address_line_two,
|
|
||||||
billing_address_district_name,
|
|
||||||
billing_address_state_name,
|
|
||||||
billing_address_country_name,
|
|
||||||
billing_address_postcode,
|
|
||||||
billing_address_type,
|
|
||||||
is_default_billing_address,
|
|
||||||
container_reference,
|
|
||||||
container_number,
|
|
||||||
container_seal_reference,
|
|
||||||
container_type,
|
|
||||||
container_deliver_courier,
|
|
||||||
container_tracking_number,
|
|
||||||
destination_warehouse_transport_transport_mode,
|
|
||||||
destination_warehouse_transport_courier,
|
|
||||||
destination_warehouse_transport_tracking_number,
|
|
||||||
booking_status,
|
booking_status,
|
||||||
billing_address_status,
|
first_mile_receive_status,
|
||||||
origin_warehouse_shipping_order_status,
|
package_descriptions,
|
||||||
container_status,
|
|
||||||
container_transport_arrangment_status,
|
|
||||||
destination_warehouse_transport_status,
|
|
||||||
|
|
||||||
-- measures
|
-- measures
|
||||||
number_of_package_record,
|
number_of_package_record,
|
||||||
|
total_package_item,
|
||||||
total_package_width_cm,
|
total_package_width_cm,
|
||||||
total_package_height_cm,
|
total_package_height_cm,
|
||||||
total_package_length_cm,
|
total_package_length_cm,
|
||||||
total_package_weight_kg,
|
|
||||||
total_package_item,
|
|
||||||
total_package_cbm,
|
total_package_cbm,
|
||||||
|
total_package_weight_kg,
|
||||||
|
total_order_cbm,
|
||||||
number_of_over_weight_charge_record,
|
number_of_over_weight_charge_record,
|
||||||
over_weight_cbm,
|
over_weight_cbm,
|
||||||
over_weight_kg,
|
over_weight_kg,
|
||||||
number_of_pallet_charge_record,
|
number_of_pallet_charge_record,
|
||||||
pallet_charge_cbm,
|
pallet_charge_cbm,
|
||||||
total_order_cbm,
|
|
||||||
number_of_invoice,
|
number_of_invoice,
|
||||||
number_of_payment,
|
number_of_payment,
|
||||||
invoice_number_of_shipping_fee,
|
invoice_number_of_shipping_fee,
|
||||||
@@ -154,50 +127,21 @@ final__rep_shipping__origin_warehouse_shipping_orders AS (
|
|||||||
payment_value_rm,
|
payment_value_rm,
|
||||||
payment_tax_rm,
|
payment_tax_rm,
|
||||||
payment_service_charge_rm,
|
payment_service_charge_rm,
|
||||||
number_of_container_etd_datetime_postpone,
|
|
||||||
number_of_container_eta_datetime_postpone,
|
|
||||||
destination_warehouse_transport_number_of_etd_datetime_postpone,
|
|
||||||
destination_warehouse_transport_number_of_eta_datetime_postpone,
|
|
||||||
|
|
||||||
-- date/times
|
-- date/times
|
||||||
sub_company_created_datetime,
|
sub_company_created_datetime,
|
||||||
booking_created_datetime,
|
booking_created_datetime,
|
||||||
delivery_address_created_datetime,
|
booking_updated_datetime,
|
||||||
billing_address_created_datetime,
|
order_created_datetime,
|
||||||
origin_warehouse_shipping_order_created_datetime,
|
next_order_created_datetime,
|
||||||
last_invoice_created_datetime,
|
last_invoice_created_datetime,
|
||||||
last_payment_created_datetime,
|
last_payment_created_datetime,
|
||||||
container_loaded_datetime,
|
|
||||||
container_departed_datetime,
|
|
||||||
container_arrived_datetime,
|
|
||||||
container_etd_datetimes,
|
|
||||||
first_container_etd_datetimes,
|
|
||||||
last_container_etd_datetimes,
|
|
||||||
container_eta_datetimes,
|
|
||||||
first_container_eta_datetime,
|
|
||||||
last_container_eta_datetime,
|
|
||||||
first_container_estimate_schedule_created_datetime,
|
|
||||||
last_container_estimate_schedule_created_datetime,
|
|
||||||
container_deleted_datetime,
|
|
||||||
container_created_datetime,
|
|
||||||
container_updated_datetime,
|
|
||||||
destination_warehouse_transport_dispatched_datetime,
|
|
||||||
destination_warehouse_transport_droped_datetime,
|
|
||||||
destination_warehouse_transport_etd_datetimes,
|
|
||||||
destination_warehouse_transport_first_etd_datetime,
|
|
||||||
destination_warehouse_transport_last_etd_datetime,
|
|
||||||
destination_warehouse_transport_eta_datetimes,
|
|
||||||
destination_warehouse_transport_first_eta_datetime,
|
|
||||||
destination_warehouse_transport_last_eta_datetime,
|
|
||||||
destination_warehouse_transport_first_estimate_schedule_created_datetime,
|
|
||||||
destination_warehouse_transport_last_estimate_schedule_created_datetime,
|
|
||||||
destination_warehouse_transport_created_datetime,
|
|
||||||
next_origin_warehouse_shipping_order_created_datetime,
|
|
||||||
|
|
||||||
-- metadata
|
-- metadata
|
||||||
_dbt_ran_datetime
|
_dbt_ran_datetime
|
||||||
|
|
||||||
FROM create_metrics
|
FROM create_metrics
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
||||||
SELECT * FROM final__rep_shipping__origin_warehouse_shipping_orders
|
SELECT * FROM final__rep_shipping__origin_warehouse_shipping_orders
|
||||||
@@ -14,8 +14,8 @@
|
|||||||
|
|
||||||
|
|
||||||
-- IMPORT
|
-- IMPORT
|
||||||
WITH origin_warehouse_shipping_packing_lists AS (
|
WITH orders AS (
|
||||||
SELECT * FROM {{ ref('fct_shipping__origin_warehouse_shipping_packing_lists') }}
|
SELECT * FROM {{ ref('fct_shipping__orders') }}
|
||||||
),
|
),
|
||||||
|
|
||||||
companies AS (
|
companies AS (
|
||||||
@@ -27,27 +27,27 @@ companies AS (
|
|||||||
company_shipping_order_one_year AS(
|
company_shipping_order_one_year AS(
|
||||||
|
|
||||||
SELECT
|
SELECT
|
||||||
origin_warehouse_shipping_packing_lists.sub_company_id,
|
orders.sub_company_id,
|
||||||
companies.sub_company_marking_id,
|
companies.sub_company_marking_id,
|
||||||
COUNT(origin_warehouse_shipping_packing_lists.origin_warehouse_shipping_packing_list_id) AS number_of_packing_list_one_year,
|
COUNT(orders.old_mid_mile_packing_list_id) AS number_of_packing_list_one_year,
|
||||||
MAX(origin_warehouse_shipping_packing_lists.origin_warehouse_shipping_order_created_datetime) AS last_packing_list_created_datetime_one_year,
|
MAX(orders.order_created_datetime) AS last_packing_list_created_datetime_one_year,
|
||||||
DATEDIFF(day, last_packing_list_created_datetime_one_year, CURRENT_DATE()) AS day_after_last_packing_list_one_year,
|
DATEDIFF(day, last_packing_list_created_datetime_one_year, CURRENT_DATE()) AS day_after_last_packing_list_one_year,
|
||||||
SUM(origin_warehouse_shipping_packing_lists.total_package_cbm) AS total_package_cbm_one_year
|
SUM(orders.total_package_cbm) AS total_package_cbm_one_year
|
||||||
|
|
||||||
FROM origin_warehouse_shipping_packing_lists
|
FROM orders
|
||||||
|
|
||||||
LEFT JOIN companies
|
LEFT JOIN companies
|
||||||
ON (origin_warehouse_shipping_packing_lists.sub_company_id = companies.sub_company_id)
|
ON (orders.sub_company_id = companies.sub_company_id)
|
||||||
|
|
||||||
WHERE
|
WHERE
|
||||||
origin_warehouse_shipping_order_status IN ('COMPLETED','APPROVED')
|
first_mile_receive_status IN ('COMPLETED','APPROVED')
|
||||||
AND
|
AND
|
||||||
origin_warehouse_shipping_order_created_datetime >= '{{ custom_one_year_from_date }}'
|
order_created_datetime >= '{{ custom_one_year_from_date }}'
|
||||||
AND
|
AND
|
||||||
origin_warehouse_shipping_order_created_datetime < '{{ custom_one_year_to_date }}'
|
order_created_datetime < '{{ custom_one_year_to_date }}'
|
||||||
|
|
||||||
GROUP BY
|
GROUP BY
|
||||||
origin_warehouse_shipping_packing_lists.sub_company_id,
|
orders.sub_company_id,
|
||||||
companies.sub_company_marking_id
|
companies.sub_company_marking_id
|
||||||
|
|
||||||
),
|
),
|
||||||
@@ -55,33 +55,33 @@ company_shipping_order_one_year AS(
|
|||||||
company_rfm AS (
|
company_rfm AS (
|
||||||
|
|
||||||
SELECT
|
SELECT
|
||||||
origin_warehouse_shipping_packing_lists.sub_company_id,
|
orders.sub_company_id,
|
||||||
companies.sub_company_marking_id,
|
companies.sub_company_marking_id,
|
||||||
|
|
||||||
MAX(origin_warehouse_shipping_packing_lists.origin_warehouse_shipping_order_created_datetime) AS last_packing_list_created_datetime,
|
MAX(orders.order_created_datetime) AS last_packing_list_created_datetime,
|
||||||
|
|
||||||
DATEDIFF(day, last_packing_list_created_datetime, CURRENT_DATE() ) AS day_after_last_packing_list_lifetime,
|
DATEDIFF(day, last_packing_list_created_datetime, CURRENT_DATE() ) AS day_after_last_packing_list_lifetime,
|
||||||
MAX(company_shipping_order_one_year.day_after_last_packing_list_one_year) AS day_after_last_packing_list_one_year,
|
MAX(company_shipping_order_one_year.day_after_last_packing_list_one_year) AS day_after_last_packing_list_one_year,
|
||||||
|
|
||||||
COUNT(origin_warehouse_shipping_packing_lists.origin_warehouse_shipping_packing_list_id) AS number_of_packing_list_lifetime,
|
COUNT(orders.old_mid_mile_packing_list_id) AS number_of_packing_list_lifetime,
|
||||||
MAX(company_shipping_order_one_year.number_of_packing_list_one_year) AS number_of_packing_list_one_year,
|
MAX(company_shipping_order_one_year.number_of_packing_list_one_year) AS number_of_packing_list_one_year,
|
||||||
|
|
||||||
SUM(origin_warehouse_shipping_packing_lists.total_package_cbm) AS total_package_cbm_lifetime,
|
SUM(orders.total_package_cbm) AS total_package_cbm_lifetime,
|
||||||
MAX(company_shipping_order_one_year.total_package_cbm_one_year) AS total_package_cbm_one_year
|
MAX(company_shipping_order_one_year.total_package_cbm_one_year) AS total_package_cbm_one_year
|
||||||
|
|
||||||
FROM origin_warehouse_shipping_packing_lists
|
FROM orders
|
||||||
|
|
||||||
LEFT JOIN company_shipping_order_one_year
|
LEFT JOIN company_shipping_order_one_year
|
||||||
ON (origin_warehouse_shipping_packing_lists.sub_company_id = company_shipping_order_one_year.sub_company_id)
|
ON (orders.sub_company_id = company_shipping_order_one_year.sub_company_id)
|
||||||
|
|
||||||
LEFT JOIN companies
|
LEFT JOIN companies
|
||||||
ON (origin_warehouse_shipping_packing_lists.sub_company_id = companies.sub_company_id)
|
ON (orders.sub_company_id = companies.sub_company_id)
|
||||||
|
|
||||||
WHERE
|
WHERE
|
||||||
origin_warehouse_shipping_packing_lists.origin_warehouse_shipping_order_status IN ('COMPLETED','APPROVED')
|
orders.first_mile_receive_status IN ('COMPLETED','APPROVED')
|
||||||
|
|
||||||
GROUP BY
|
GROUP BY
|
||||||
origin_warehouse_shipping_packing_lists.sub_company_id,
|
orders.sub_company_id,
|
||||||
companies.sub_company_marking_id
|
companies.sub_company_marking_id
|
||||||
|
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ WITH companies AS (
|
|||||||
SELECT * FROM {{ ref('dim_shipping__companies') }}
|
SELECT * FROM {{ ref('dim_shipping__companies') }}
|
||||||
),
|
),
|
||||||
|
|
||||||
origin_warehouse_shipping_packing_lists AS (
|
orders AS (
|
||||||
SELECT * FROM {{ ref('fct_shipping__origin_warehouse_shipping_packing_lists') }}
|
SELECT * FROM {{ ref('fct_shipping__orders') }}
|
||||||
),
|
),
|
||||||
|
|
||||||
|
|
||||||
@@ -22,19 +22,19 @@ duration_table AS (
|
|||||||
companies.sub_company_id,
|
companies.sub_company_id,
|
||||||
companies.sub_company_marking_id,
|
companies.sub_company_marking_id,
|
||||||
companies.sub_company_created_datetime,
|
companies.sub_company_created_datetime,
|
||||||
COUNT(origin_warehouse_shipping_packing_lists.origin_warehouse_shipping_packing_list_id) AS count_order,
|
COUNT(orders.old_mid_mile_packing_list_id) AS count_order,
|
||||||
|
|
||||||
COUNT(IFF(
|
COUNT(IFF(
|
||||||
origin_warehouse_shipping_packing_lists.origin_warehouse_shipping_order_status IN ('APPROVED', 'COMPLETED'),
|
orders.first_mile_receive_status IN ('APPROVED', 'COMPLETED'),
|
||||||
origin_warehouse_shipping_packing_lists.origin_warehouse_shipping_packing_list_id,
|
orders.old_mid_mile_packing_list_id,
|
||||||
null
|
null
|
||||||
)) AS count_completed_order,
|
)) AS count_completed_order,
|
||||||
|
|
||||||
MAX(origin_warehouse_shipping_packing_lists.origin_warehouse_shipping_order_created_datetime) AS last_order_datetime,
|
MAX(orders.order_created_datetime) AS last_order_datetime,
|
||||||
COALESCE(last_order_datetime, sub_company_created_datetime) AS last_activity_datetime,
|
COALESCE(last_order_datetime, sub_company_created_datetime) AS last_activity_datetime,
|
||||||
IFF(last_order_datetime IS NULL, 1, 0) AS is_never_order_company,
|
IFF(last_order_datetime IS NULL, 1, 0) AS is_never_order_company,
|
||||||
|
|
||||||
-- if is_churn_company = 0, the data will be censored
|
/* if is_churn_company = 0, the data will be censored */
|
||||||
IFF(
|
IFF(
|
||||||
DATEDIFF(day, last_activity_datetime, CURRENT_DATE()) >= {{day_use_to_churn}},
|
DATEDIFF(day, last_activity_datetime, CURRENT_DATE()) >= {{day_use_to_churn}},
|
||||||
1,
|
1,
|
||||||
@@ -50,8 +50,8 @@ duration_table AS (
|
|||||||
|
|
||||||
FROM companies
|
FROM companies
|
||||||
|
|
||||||
LEFT JOIN origin_warehouse_shipping_packing_lists
|
LEFT JOIN orders
|
||||||
ON (companies.sub_company_id = origin_warehouse_shipping_packing_lists.sub_company_id)
|
ON (companies.sub_company_id = orders.sub_company_id)
|
||||||
|
|
||||||
GROUP BY
|
GROUP BY
|
||||||
companies.sub_company_id,
|
companies.sub_company_id,
|
||||||
@@ -64,8 +64,10 @@ duration_table AS (
|
|||||||
|
|
||||||
),
|
),
|
||||||
|
|
||||||
-- the daily_tally cte count the total number of observations at each survival_time_day
|
/*
|
||||||
-- and the number of company that have churned at that survival_time_day
|
The daily_tally cte count the total number of observations at each survival_time_day
|
||||||
|
and the number of company that have churned at that survival_time_day
|
||||||
|
*/
|
||||||
daily_observation_tally AS (
|
daily_observation_tally AS (
|
||||||
|
|
||||||
SELECT
|
SELECT
|
||||||
@@ -81,7 +83,9 @@ daily_observation_tally AS (
|
|||||||
|
|
||||||
),
|
),
|
||||||
|
|
||||||
-- the cumulative_tally cte counts the number of subjects still at risk of experiencing churn
|
/*
|
||||||
|
The cumulative_tally cte counts the number of subjects still at risk of experiencing churn
|
||||||
|
*/
|
||||||
cumulative_tally AS (
|
cumulative_tally AS (
|
||||||
|
|
||||||
SELECT
|
SELECT
|
||||||
@@ -101,8 +105,10 @@ cumulative_tally AS (
|
|||||||
|
|
||||||
),
|
),
|
||||||
|
|
||||||
-- At each survival_time_day, count number of censored subject
|
/*
|
||||||
-- censored subjects = # subject at risk - churned - # subject at risk in the next duration
|
At each survival_time_day, count number of censored subject
|
||||||
|
censored subjects = # subject at risk - churned - # subject at risk in the next duration
|
||||||
|
*/
|
||||||
compute_censored_subjects AS (
|
compute_censored_subjects AS (
|
||||||
|
|
||||||
SELECT
|
SELECT
|
||||||
|
|||||||
@@ -0,0 +1,198 @@
|
|||||||
|
-- can change to dim_booking_addresses
|
||||||
|
-- IMPORT
|
||||||
|
WITH bookings AS (
|
||||||
|
SELECT * FROM {{ ref('stg_shipping__bookings') }}
|
||||||
|
),
|
||||||
|
|
||||||
|
booking_addresses AS (
|
||||||
|
SELECT * FROM {{ ref('stg_shipping__booking_addresses') }}
|
||||||
|
),
|
||||||
|
|
||||||
|
|
||||||
|
-- LOGIC
|
||||||
|
booking_addresses_clean AS (
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
*,
|
||||||
|
ROW_NUMBER() OVER (PARTITION BY booking_id, address_type ORDER BY created_datetime DESC) AS row_number_index
|
||||||
|
|
||||||
|
FROM booking_addresses
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
deleted_datetime IS NULL
|
||||||
|
AND
|
||||||
|
status = 'APPROVED'
|
||||||
|
|
||||||
|
QUALIFY
|
||||||
|
row_number_index = 1
|
||||||
|
|
||||||
|
),
|
||||||
|
|
||||||
|
booking_address_group_by_booking_id AS (
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
booking_id,
|
||||||
|
MAX(IFF(address_type = 'DELIVERY', booking_address_id, NULL)) AS delivery_booking_address_id,
|
||||||
|
MAX(IFF(address_type = 'DELIVERY', district_id, NULL)) AS delivery_address_district_id,
|
||||||
|
MAX(IFF(address_type = 'DELIVERY', state_id, NULL)) AS delivery_address_state_id,
|
||||||
|
MAX(IFF(address_type = 'DELIVERY', country_id, NULL)) AS delivery_address_country_id,
|
||||||
|
MAX(IFF(address_type = 'DELIVERY', address_reference, NULL)) AS delivery_address_reference,
|
||||||
|
MAX(IFF(address_type = 'DELIVERY', address_line_one, NULL)) AS delivery_address_line_one,
|
||||||
|
MAX(IFF(address_type = 'DELIVERY', address_line_two, NULL)) AS delivery_address_line_two,
|
||||||
|
MAX(IFF(address_type = 'DELIVERY', district_name, NULL)) AS delivery_address_district_name,
|
||||||
|
MAX(IFF(address_type = 'DELIVERY', state_name, NULL)) AS delivery_address_state_name,
|
||||||
|
MAX(IFF(address_type = 'DELIVERY', country_name, NULL)) AS delivery_address_country_name,
|
||||||
|
MAX(IFF(address_type = 'DELIVERY', postcode, NULL)) AS delivery_address_postcode,
|
||||||
|
MAX(IFF(address_type = 'DELIVERY', address_type, NULL)) AS delivery_address_type,
|
||||||
|
MAX(IFF(address_type = 'DELIVERY', is_default_address, NULL)) AS is_default_delivery_address,
|
||||||
|
MAX(IFF(address_type = 'DELIVERY', status, NULL)) AS delivery_address_status,
|
||||||
|
MAX(IFF(address_type = 'DELIVERY', deleted_datetime, NULL)) AS delivery_address_deleted_datetime,
|
||||||
|
MAX(IFF(address_type = 'DELIVERY', created_datetime, NULL)) AS delivery_address_created_datetime,
|
||||||
|
MAX(IFF(address_type = 'DELIVERY', updated_datetime, NULL)) AS delivery_address_updated_datetime,
|
||||||
|
|
||||||
|
MAX(IFF(address_type = 'BILLING', booking_address_id, NULL)) AS billing_booking_address_id,
|
||||||
|
MAX(IFF(address_type = 'BILLING', district_id, NULL)) AS billing_address_district_id,
|
||||||
|
MAX(IFF(address_type = 'BILLING', state_id, NULL)) AS billing_address_state_id,
|
||||||
|
MAX(IFF(address_type = 'BILLING', country_id, NULL)) AS billing_address_country_id,
|
||||||
|
MAX(IFF(address_type = 'BILLING', address_reference, NULL)) AS billing_address_reference,
|
||||||
|
MAX(IFF(address_type = 'BILLING', address_line_one, NULL)) AS billing_address_line_one,
|
||||||
|
MAX(IFF(address_type = 'BILLING', address_line_two, NULL)) AS billing_address_line_two,
|
||||||
|
MAX(IFF(address_type = 'BILLING', district_name, NULL)) AS billing_address_district_name,
|
||||||
|
MAX(IFF(address_type = 'BILLING', state_name, NULL)) AS billing_address_state_name,
|
||||||
|
MAX(IFF(address_type = 'BILLING', country_name, NULL)) AS billing_address_country_name,
|
||||||
|
MAX(IFF(address_type = 'BILLING', postcode, NULL)) AS billing_address_postcode,
|
||||||
|
MAX(IFF(address_type = 'BILLING', address_type, NULL)) AS billing_address_type,
|
||||||
|
MAX(IFF(address_type = 'BILLING', is_default_address, NULL)) AS is_default_billing_address,
|
||||||
|
MAX(IFF(address_type = 'BILLING', status, NULL)) AS billing_address_status,
|
||||||
|
MAX(IFF(address_type = 'BILLING', deleted_datetime, NULL)) AS billing_address_deleted_datetime,
|
||||||
|
MAX(IFF(address_type = 'BILLING', created_datetime, NULL)) AS billing_address_created_datetime,
|
||||||
|
MAX(IFF(address_type = 'BILLING', updated_datetime, NULL)) AS billing_address_updated_datetime
|
||||||
|
|
||||||
|
FROM booking_addresses_clean
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
booking_id
|
||||||
|
|
||||||
|
),
|
||||||
|
|
||||||
|
booking_address_join_bookings AS (
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
bookings.booking_id,
|
||||||
|
bookings.sub_company_id,
|
||||||
|
bookings.reference AS booking_reference,
|
||||||
|
bookings.reference_contract AS booking_reference_contract,
|
||||||
|
bookings.service_type AS service_type,
|
||||||
|
bookings.status AS booking_status,
|
||||||
|
bookings.deleted_datetime AS booking_deleted_datetime,
|
||||||
|
bookings.created_datetime AS booking_created_datetime,
|
||||||
|
bookings.updated_datetime AS booking_updated_datetime,
|
||||||
|
|
||||||
|
booking_address_group_by_booking_id.delivery_booking_address_id,
|
||||||
|
booking_address_group_by_booking_id.delivery_address_district_id,
|
||||||
|
booking_address_group_by_booking_id.delivery_address_state_id,
|
||||||
|
booking_address_group_by_booking_id.delivery_address_country_id,
|
||||||
|
booking_address_group_by_booking_id.delivery_address_reference,
|
||||||
|
booking_address_group_by_booking_id.delivery_address_line_one,
|
||||||
|
booking_address_group_by_booking_id.delivery_address_line_two,
|
||||||
|
booking_address_group_by_booking_id.delivery_address_district_name,
|
||||||
|
booking_address_group_by_booking_id.delivery_address_state_name,
|
||||||
|
booking_address_group_by_booking_id.delivery_address_country_name,
|
||||||
|
booking_address_group_by_booking_id.delivery_address_postcode,
|
||||||
|
booking_address_group_by_booking_id.delivery_address_type,
|
||||||
|
booking_address_group_by_booking_id.is_default_delivery_address,
|
||||||
|
booking_address_group_by_booking_id.delivery_address_status,
|
||||||
|
booking_address_group_by_booking_id.delivery_address_deleted_datetime,
|
||||||
|
booking_address_group_by_booking_id.delivery_address_created_datetime,
|
||||||
|
booking_address_group_by_booking_id.delivery_address_updated_datetime,
|
||||||
|
|
||||||
|
booking_address_group_by_booking_id.billing_booking_address_id,
|
||||||
|
booking_address_group_by_booking_id.billing_address_district_id,
|
||||||
|
booking_address_group_by_booking_id.billing_address_state_id,
|
||||||
|
booking_address_group_by_booking_id.billing_address_country_id,
|
||||||
|
booking_address_group_by_booking_id.billing_address_reference,
|
||||||
|
booking_address_group_by_booking_id.billing_address_line_one,
|
||||||
|
booking_address_group_by_booking_id.billing_address_line_two,
|
||||||
|
booking_address_group_by_booking_id.billing_address_district_name,
|
||||||
|
booking_address_group_by_booking_id.billing_address_state_name,
|
||||||
|
booking_address_group_by_booking_id.billing_address_country_name,
|
||||||
|
booking_address_group_by_booking_id.billing_address_postcode,
|
||||||
|
booking_address_group_by_booking_id.billing_address_type,
|
||||||
|
booking_address_group_by_booking_id.is_default_billing_address,
|
||||||
|
booking_address_group_by_booking_id.billing_address_status,
|
||||||
|
booking_address_group_by_booking_id.billing_address_deleted_datetime,
|
||||||
|
booking_address_group_by_booking_id.billing_address_created_datetime,
|
||||||
|
booking_address_group_by_booking_id.billing_address_updated_datetime,
|
||||||
|
|
||||||
|
'{{ modules.datetime.datetime.now(modules.pytz.timezone("Asia/Kuala_Lumpur")) }}' AS _dbt_ran_datetime
|
||||||
|
|
||||||
|
FROM bookings
|
||||||
|
|
||||||
|
LEFT JOIN booking_address_group_by_booking_id
|
||||||
|
ON (bookings.booking_id = booking_address_group_by_booking_id.booking_id)
|
||||||
|
|
||||||
|
),
|
||||||
|
|
||||||
|
|
||||||
|
-- FINAL
|
||||||
|
final__fct_shipping__bookings AS (
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
-- ids
|
||||||
|
booking_id,
|
||||||
|
sub_company_id,
|
||||||
|
delivery_booking_address_id,
|
||||||
|
delivery_address_district_id,
|
||||||
|
delivery_address_state_id,
|
||||||
|
delivery_address_country_id,
|
||||||
|
billing_booking_address_id,
|
||||||
|
billing_address_district_id,
|
||||||
|
billing_address_state_id,
|
||||||
|
billing_address_country_id,
|
||||||
|
booking_reference,
|
||||||
|
booking_reference_contract,
|
||||||
|
|
||||||
|
-- dimensions
|
||||||
|
service_type,
|
||||||
|
booking_status,
|
||||||
|
delivery_address_reference,
|
||||||
|
delivery_address_line_one,
|
||||||
|
delivery_address_line_two,
|
||||||
|
delivery_address_district_name,
|
||||||
|
delivery_address_state_name,
|
||||||
|
delivery_address_country_name,
|
||||||
|
delivery_address_postcode,
|
||||||
|
delivery_address_type,
|
||||||
|
is_default_delivery_address,
|
||||||
|
delivery_address_status,
|
||||||
|
billing_address_reference,
|
||||||
|
billing_address_line_one,
|
||||||
|
billing_address_line_two,
|
||||||
|
billing_address_district_name,
|
||||||
|
billing_address_state_name,
|
||||||
|
billing_address_country_name,
|
||||||
|
billing_address_postcode,
|
||||||
|
billing_address_type,
|
||||||
|
is_default_billing_address,
|
||||||
|
billing_address_status,
|
||||||
|
|
||||||
|
-- -- date/times
|
||||||
|
booking_deleted_datetime,
|
||||||
|
booking_created_datetime,
|
||||||
|
booking_updated_datetime,
|
||||||
|
delivery_address_deleted_datetime,
|
||||||
|
delivery_address_created_datetime,
|
||||||
|
delivery_address_updated_datetime,
|
||||||
|
billing_address_deleted_datetime,
|
||||||
|
billing_address_created_datetime,
|
||||||
|
billing_address_updated_datetime,
|
||||||
|
|
||||||
|
-- metadata
|
||||||
|
_dbt_ran_datetime
|
||||||
|
|
||||||
|
FROM booking_address_join_bookings
|
||||||
|
|
||||||
|
)
|
||||||
|
|
||||||
|
SELECT * FROM final__fct_shipping__bookings
|
||||||
|
-- 10413
|
||||||
@@ -0,0 +1,366 @@
|
|||||||
|
-- IMPORT
|
||||||
|
WITH first_mile_transport_arrangements AS (
|
||||||
|
SELECT * FROM {{ ref('int_shipping__first_mile_transport_arrangements') }}
|
||||||
|
),
|
||||||
|
|
||||||
|
mid_mile_transport_arrangements AS (
|
||||||
|
SELECT * FROM {{ ref('int_shipping__mid_mile_transport_arrangements') }}
|
||||||
|
),
|
||||||
|
|
||||||
|
bookings AS (
|
||||||
|
SELECT * FROM {{ ref('stg_shipping__bookings') }}
|
||||||
|
),
|
||||||
|
|
||||||
|
packages AS (
|
||||||
|
SELECT * FROM {{ ref('stg_shipping__packages') }}
|
||||||
|
),
|
||||||
|
|
||||||
|
package_extra_charges AS (
|
||||||
|
SELECT * FROM {{ ref('stg_shipping__package_extra_charges') }}
|
||||||
|
),
|
||||||
|
|
||||||
|
packing_list_invoice_payments AS (
|
||||||
|
SELECT * FROM {{ ref('stg_shipping__packing_list_invoice_payments') }}
|
||||||
|
),
|
||||||
|
|
||||||
|
|
||||||
|
-- LOGIC
|
||||||
|
-- Packages by packing_list
|
||||||
|
packages_group_by_packing_list_id AS (
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
packing_list_id,
|
||||||
|
COUNT(DISTINCT(package_id)) AS number_of_package_record,
|
||||||
|
ARRAY_AGG(DISTINCT(package_description)) AS package_descriptions,
|
||||||
|
SUM(width_cm) AS total_package_width_cm,
|
||||||
|
SUM(height_cm) AS total_package_height_cm,
|
||||||
|
SUM(length_cm) AS total_package_length_cm,
|
||||||
|
sum(weight_kg) AS total_package_weight_kg,
|
||||||
|
SUM(quantity) AS total_package_item,
|
||||||
|
SUM(cbm) AS total_package_cbm
|
||||||
|
|
||||||
|
FROM
|
||||||
|
packages
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
packing_list_id
|
||||||
|
|
||||||
|
),
|
||||||
|
|
||||||
|
package_extra_charges_group_by_packing_list_id AS (
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
packing_list_id,
|
||||||
|
COUNT(DISTINCT(
|
||||||
|
IFF(package_type = 'OVER_WEIGHT',
|
||||||
|
package_id,
|
||||||
|
null)
|
||||||
|
)) AS number_of_over_weight_charge_record,
|
||||||
|
|
||||||
|
SUM(
|
||||||
|
IFF(package_type = 'OVER_WEIGHT',
|
||||||
|
extra_charge_cbm,
|
||||||
|
0)
|
||||||
|
) AS over_weight_cbm,
|
||||||
|
|
||||||
|
SUM(
|
||||||
|
IFF(package_type = 'OVER_WEIGHT',
|
||||||
|
over_weight_kg,
|
||||||
|
0)
|
||||||
|
) AS over_weight_kg,
|
||||||
|
|
||||||
|
|
||||||
|
COUNT(DISTINCT(
|
||||||
|
IFF(package_type = 'PALLET',
|
||||||
|
package_id,
|
||||||
|
null)
|
||||||
|
)) AS number_of_pallet_charge_record,
|
||||||
|
|
||||||
|
SUM(
|
||||||
|
IFF(package_type = 'PALLET',
|
||||||
|
extra_charge_cbm,
|
||||||
|
0)
|
||||||
|
) AS pallet_charge_cbm
|
||||||
|
|
||||||
|
FROM package_extra_charges
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
packing_list_id
|
||||||
|
|
||||||
|
),
|
||||||
|
|
||||||
|
total_package_charges AS (
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
packages_group_by_packing_list_id.packing_list_id,
|
||||||
|
packages_group_by_packing_list_id.number_of_package_record,
|
||||||
|
packages_group_by_packing_list_id.package_descriptions,
|
||||||
|
packages_group_by_packing_list_id.total_package_width_cm,
|
||||||
|
packages_group_by_packing_list_id.total_package_height_cm,
|
||||||
|
packages_group_by_packing_list_id.total_package_length_cm,
|
||||||
|
packages_group_by_packing_list_id.total_package_weight_kg,
|
||||||
|
packages_group_by_packing_list_id.total_package_item,
|
||||||
|
packages_group_by_packing_list_id.total_package_cbm,
|
||||||
|
|
||||||
|
package_extra_charges_group_by_packing_list_id.number_of_over_weight_charge_record,
|
||||||
|
package_extra_charges_group_by_packing_list_id.over_weight_cbm,
|
||||||
|
package_extra_charges_group_by_packing_list_id.over_weight_kg,
|
||||||
|
package_extra_charges_group_by_packing_list_id.number_of_pallet_charge_record,
|
||||||
|
package_extra_charges_group_by_packing_list_id.pallet_charge_cbm
|
||||||
|
|
||||||
|
FROM packages_group_by_packing_list_id
|
||||||
|
|
||||||
|
LEFT JOIN package_extra_charges_group_by_packing_list_id
|
||||||
|
ON (packages_group_by_packing_list_id.packing_list_id = package_extra_charges_group_by_packing_list_id.packing_list_id)
|
||||||
|
|
||||||
|
),
|
||||||
|
|
||||||
|
-- Invoices
|
||||||
|
remove_expired_invoice_payments AS (
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
*
|
||||||
|
|
||||||
|
FROM packing_list_invoice_payments
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
invoice_status != 'EXPIRED'
|
||||||
|
AND
|
||||||
|
payment_status NOT IN ('SUSPENDED','REJECTED')
|
||||||
|
|
||||||
|
),
|
||||||
|
|
||||||
|
invoice_group_by_packing_list_ids AS (
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
old_warehouse_shipping_packing_list_id,
|
||||||
|
invoice_sub_company_id,
|
||||||
|
payment_sub_company_id,
|
||||||
|
COUNT(DISTINCT(packing_list_invoice_id)) AS number_of_invoice,
|
||||||
|
COUNT(DISTINCT(packing_list_payment_id)) AS number_of_payment,
|
||||||
|
|
||||||
|
SUM(invoice_number_of_shipping_fee) AS invoice_number_of_shipping_fee,
|
||||||
|
SUM(invoice_average_shipping_fee_price_per_quantity)/SUM(invoice_number_of_shipping_fee) AS invoice_average_shipping_fee_price_per_quantity,
|
||||||
|
SUM(invoice_total_shipping_fee_quantity) AS invoice_total_shipping_fee_quantity,
|
||||||
|
SUM(invoice_total_shipping_fee_value_rm) AS invoice_total_shipping_fee_value_rm,
|
||||||
|
SUM(invoice_number_of_min_cbm_charge) AS invoice_number_of_min_cbm_charge,
|
||||||
|
SUM(invoice_average_min_cbm_charge_price_per_quantity)/SUM(invoice_number_of_min_cbm_charge) AS invoice_average_min_cbm_charge_price_per_quantity,
|
||||||
|
SUM(invoice_total_min_cbm_charge_quantity) AS invoice_total_min_cbm_charge_quantity,
|
||||||
|
SUM(invoice_total_min_cbm_charge_value_rm) AS invoice_total_min_cbm_charge_value_rm,
|
||||||
|
SUM(invoice_number_of_over_weight_charge) AS invoice_number_of_over_weight_charge,
|
||||||
|
SUM(invoice_average_over_weight_charge_price_per_quantity)/SUM(invoice_number_of_over_weight_charge) AS invoice_average_over_weight_charge_price_per_quantity,
|
||||||
|
SUM(invoice_total_over_weight_charge_quantity) AS invoice_total_over_weight_charge_quantity,
|
||||||
|
SUM(invoice_total_over_weight_charge_value_rm) AS invoice_total_over_weight_charge_value_rm,
|
||||||
|
SUM(invoice_number_of_custom_charge) AS invoice_number_of_custom_charge,
|
||||||
|
SUM(invoice_average_custom_charge_price_per_quantity)/SUM(invoice_number_of_custom_charge) AS invoice_average_custom_charge_price_per_quantity,
|
||||||
|
SUM(invoice_total_custom_charge_quantity) AS invoice_total_custom_charge_quantity,
|
||||||
|
SUM(invoice_total_custom_charge_value_rm) AS invoice_total_custom_charge_value_rm,
|
||||||
|
SUM(invoice_value_rm) AS invoice_value_rm,
|
||||||
|
SUM(invoice_tax_rm) AS invoice_tax_rm,
|
||||||
|
SUM(invoice_service_charge) AS invoice_service_charge,
|
||||||
|
SUM(payment_value_rm) AS payment_value_rm,
|
||||||
|
SUM(payment_tax_rm) AS payment_tax_rm,
|
||||||
|
SUM(payment_service_charge_rm) AS payment_service_charge_rm,
|
||||||
|
MAX(invoice_created_datetime) AS last_invoice_created_datetime,
|
||||||
|
MAX(payment_created_datetime) AS last_payment_created_datetime
|
||||||
|
|
||||||
|
FROM remove_expired_invoice_payments
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
old_warehouse_shipping_packing_list_id,
|
||||||
|
invoice_sub_company_id,
|
||||||
|
payment_sub_company_id
|
||||||
|
|
||||||
|
),
|
||||||
|
|
||||||
|
-- Joined orders
|
||||||
|
booking_join_package_charges_join_invoice_payments AS (
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
bookings.sub_company_id,
|
||||||
|
bookings.service_type,
|
||||||
|
bookings.status AS booking_status,
|
||||||
|
bookings.created_datetime AS booking_created_datetime,
|
||||||
|
bookings.updated_datetime AS booking_updated_datetime,
|
||||||
|
|
||||||
|
first_mile_transport_arrangements.new_first_mile_packing_list_id,
|
||||||
|
first_mile_transport_arrangements.old_first_mile_packing_list_id,
|
||||||
|
first_mile_transport_arrangements.first_mile_receive_status,
|
||||||
|
first_mile_transport_arrangements.first_mile_received_datetime AS order_created_datetime,
|
||||||
|
|
||||||
|
mid_mile_transport_arrangements.new_mid_mile_packing_list_id,
|
||||||
|
mid_mile_transport_arrangements.old_mid_mile_packing_list_id,
|
||||||
|
mid_mile_transport_arrangements.mid_mile_booking_id AS booking_id,
|
||||||
|
mid_mile_transport_arrangements.mid_mile_warehouse_order_number AS warehouse_order_number,
|
||||||
|
|
||||||
|
total_package_charges.number_of_package_record,
|
||||||
|
total_package_charges.package_descriptions,
|
||||||
|
total_package_charges.total_package_item,
|
||||||
|
total_package_charges.total_package_width_cm,
|
||||||
|
total_package_charges.total_package_height_cm,
|
||||||
|
total_package_charges.total_package_length_cm,
|
||||||
|
total_package_charges.total_package_Weight_kg,
|
||||||
|
total_package_charges.total_package_cbm,
|
||||||
|
total_package_charges.number_of_over_weight_charge_record,
|
||||||
|
total_package_charges.over_weight_cbm,
|
||||||
|
total_package_charges.over_weight_kg,
|
||||||
|
total_package_charges.number_of_pallet_charge_record,
|
||||||
|
total_package_charges.pallet_charge_cbm,
|
||||||
|
|
||||||
|
invoice_group_by_packing_list_ids.invoice_sub_company_id,
|
||||||
|
invoice_group_by_packing_list_ids.payment_sub_company_id,
|
||||||
|
invoice_group_by_packing_list_ids.number_of_invoice,
|
||||||
|
invoice_group_by_packing_list_ids.number_of_payment,
|
||||||
|
invoice_group_by_packing_list_ids.invoice_number_of_shipping_fee,
|
||||||
|
invoice_group_by_packing_list_ids.invoice_average_shipping_fee_price_per_quantity,
|
||||||
|
invoice_group_by_packing_list_ids.invoice_total_shipping_fee_quantity,
|
||||||
|
invoice_group_by_packing_list_ids.invoice_total_shipping_fee_value_rm,
|
||||||
|
invoice_group_by_packing_list_ids.invoice_number_of_min_cbm_charge,
|
||||||
|
invoice_group_by_packing_list_ids.invoice_average_min_cbm_charge_price_per_quantity,
|
||||||
|
invoice_group_by_packing_list_ids.invoice_total_min_cbm_charge_quantity,
|
||||||
|
invoice_group_by_packing_list_ids.invoice_total_min_cbm_charge_value_rm,
|
||||||
|
invoice_group_by_packing_list_ids.invoice_number_of_over_weight_charge,
|
||||||
|
invoice_group_by_packing_list_ids.invoice_average_over_weight_charge_price_per_quantity,
|
||||||
|
invoice_group_by_packing_list_ids.invoice_total_over_weight_charge_quantity,
|
||||||
|
invoice_group_by_packing_list_ids.invoice_total_over_weight_charge_value_rm,
|
||||||
|
invoice_group_by_packing_list_ids.invoice_number_of_custom_charge,
|
||||||
|
invoice_group_by_packing_list_ids.invoice_average_custom_charge_price_per_quantity,
|
||||||
|
invoice_group_by_packing_list_ids.invoice_total_custom_charge_quantity,
|
||||||
|
invoice_group_by_packing_list_ids.invoice_total_custom_charge_value_rm,
|
||||||
|
invoice_group_by_packing_list_ids.invoice_value_rm,
|
||||||
|
invoice_group_by_packing_list_ids.invoice_tax_rm,
|
||||||
|
invoice_group_by_packing_list_ids.invoice_service_charge,
|
||||||
|
invoice_group_by_packing_list_ids.payment_value_rm,
|
||||||
|
invoice_group_by_packing_list_ids.payment_tax_rm,
|
||||||
|
invoice_group_by_packing_list_ids.payment_service_charge_rm,
|
||||||
|
invoice_group_by_packing_list_ids.last_invoice_created_datetime,
|
||||||
|
invoice_group_by_packing_list_ids.last_payment_created_datetime
|
||||||
|
|
||||||
|
FROM mid_mile_transport_arrangements
|
||||||
|
|
||||||
|
LEFT JOIN first_mile_transport_arrangements
|
||||||
|
ON (mid_mile_transport_arrangements.mid_mile_warehouse_order_number = first_mile_transport_arrangements.first_mile_warehouse_order_number)
|
||||||
|
|
||||||
|
LEFT JOIN total_package_charges
|
||||||
|
ON (mid_mile_transport_arrangements.new_mid_mile_packing_list_id = total_package_charges.packing_list_id)
|
||||||
|
|
||||||
|
LEFT JOIN invoice_group_by_packing_list_ids
|
||||||
|
ON (mid_mile_transport_arrangements.old_mid_mile_packing_list_id = invoice_group_by_packing_list_ids.old_warehouse_shipping_packing_list_id)
|
||||||
|
|
||||||
|
LEFT JOIN bookings
|
||||||
|
ON (mid_mile_transport_arrangements.mid_mile_booking_id = bookings.booking_id)
|
||||||
|
|
||||||
|
),
|
||||||
|
|
||||||
|
create_new_column AS (
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
*,
|
||||||
|
(ZEROIFNULL(total_package_cbm) +
|
||||||
|
ZEROIFNULL(over_weight_cbm) +
|
||||||
|
ZEROIFNULL(pallet_charge_cbm)) AS total_order_cbm,
|
||||||
|
|
||||||
|
CASE
|
||||||
|
WHEN ROW_NUMBER() OVER (PARTITION BY sub_company_id ORDER BY order_created_datetime) = 1 THEN 1
|
||||||
|
ELSE 0
|
||||||
|
END AS is_first_time_sub_company,
|
||||||
|
|
||||||
|
CASE
|
||||||
|
WHEN first_mile_receive_status IN ('COMPLETED', 'APPROVED')
|
||||||
|
AND
|
||||||
|
MIN(IFF(first_mile_receive_status IN ('COMPLETED', 'APPROVED'), order_created_datetime, NULL))
|
||||||
|
OVER (PARTITION BY sub_company_id)
|
||||||
|
= order_created_datetime
|
||||||
|
THEN 1
|
||||||
|
ELSE 0
|
||||||
|
END AS is_first_time_sub_company_completed,
|
||||||
|
|
||||||
|
LEAD(order_created_datetime) OVER (
|
||||||
|
PARTITION BY sub_company_id ORDER BY (order_created_datetime, CAST(new_first_mile_packing_list_id AS INT))
|
||||||
|
) AS next_order_created_datetime,
|
||||||
|
|
||||||
|
'{{ modules.datetime.datetime.now(modules.pytz.timezone("Asia/Kuala_Lumpur")) }}' AS _dbt_ran_datetime
|
||||||
|
|
||||||
|
FROM booking_join_package_charges_join_invoice_payments
|
||||||
|
|
||||||
|
),
|
||||||
|
|
||||||
|
|
||||||
|
-- FINAL
|
||||||
|
final__fct_shipping__orders AS (
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
--ids
|
||||||
|
new_first_mile_packing_list_id,
|
||||||
|
old_first_mile_packing_list_id,
|
||||||
|
new_mid_mile_packing_list_id,
|
||||||
|
old_mid_mile_packing_list_id,
|
||||||
|
booking_id,
|
||||||
|
sub_company_id,
|
||||||
|
invoice_sub_company_id,
|
||||||
|
payment_sub_company_id,
|
||||||
|
warehouse_order_number,
|
||||||
|
|
||||||
|
--dimensions
|
||||||
|
service_type,
|
||||||
|
booking_status,
|
||||||
|
first_mile_receive_status,
|
||||||
|
package_descriptions,
|
||||||
|
is_first_time_sub_company,
|
||||||
|
is_first_time_sub_company_completed,
|
||||||
|
|
||||||
|
--measures
|
||||||
|
number_of_package_record,
|
||||||
|
total_package_item,
|
||||||
|
total_package_width_cm,
|
||||||
|
total_package_height_cm,
|
||||||
|
total_package_length_cm,
|
||||||
|
total_package_cbm,
|
||||||
|
total_package_weight_kg,
|
||||||
|
total_order_cbm,
|
||||||
|
number_of_over_weight_charge_record,
|
||||||
|
over_weight_cbm,
|
||||||
|
over_weight_kg,
|
||||||
|
number_of_pallet_charge_record,
|
||||||
|
pallet_charge_cbm,
|
||||||
|
number_of_invoice,
|
||||||
|
number_of_payment,
|
||||||
|
invoice_number_of_shipping_fee,
|
||||||
|
invoice_average_shipping_fee_price_per_quantity,
|
||||||
|
invoice_total_shipping_fee_quantity,
|
||||||
|
invoice_total_shipping_fee_value_rm,
|
||||||
|
invoice_number_of_min_cbm_charge,
|
||||||
|
invoice_average_min_cbm_charge_price_per_quantity,
|
||||||
|
invoice_total_min_cbm_charge_quantity,
|
||||||
|
invoice_total_min_cbm_charge_value_rm,
|
||||||
|
invoice_number_of_over_weight_charge,
|
||||||
|
invoice_average_over_weight_charge_price_per_quantity,
|
||||||
|
invoice_total_over_weight_charge_quantity,
|
||||||
|
invoice_total_over_weight_charge_value_rm,
|
||||||
|
invoice_number_of_custom_charge,
|
||||||
|
invoice_average_custom_charge_price_per_quantity,
|
||||||
|
invoice_total_custom_charge_quantity,
|
||||||
|
invoice_total_custom_charge_value_rm,
|
||||||
|
invoice_value_rm,
|
||||||
|
invoice_tax_rm,
|
||||||
|
invoice_service_charge,
|
||||||
|
payment_value_rm,
|
||||||
|
payment_tax_rm,
|
||||||
|
payment_service_charge_rm,
|
||||||
|
|
||||||
|
--date/times
|
||||||
|
booking_created_datetime,
|
||||||
|
booking_updated_datetime,
|
||||||
|
order_created_datetime,
|
||||||
|
next_order_created_datetime,
|
||||||
|
last_invoice_created_datetime,
|
||||||
|
last_payment_created_datetime,
|
||||||
|
|
||||||
|
--metadata
|
||||||
|
_dbt_ran_datetime
|
||||||
|
|
||||||
|
FROM create_new_column
|
||||||
|
|
||||||
|
)
|
||||||
|
|
||||||
|
SELECT * FROM final__fct_shipping__orders
|
||||||
@@ -1,590 +0,0 @@
|
|||||||
-- IMPORT
|
|
||||||
WITH origin_warehouse_receive_packing_lists AS (
|
|
||||||
SELECT * FROM {{ ref('stg_shipping__origin_warehouse_receive_packing_lists') }}
|
|
||||||
),
|
|
||||||
|
|
||||||
origin_warehouse_shipping_packing_lists AS (
|
|
||||||
SELECT * FROM {{ ref('stg_shipping__warehouse_shipping_packing_lists') }}
|
|
||||||
),
|
|
||||||
|
|
||||||
vt_origin_warehouse_receive_packing_list_brg_shipping_packing_lists AS (
|
|
||||||
SELECT * FROM {{ ref('int_shipping__vt_origin_warehouse_receive_packing_list_brg_shipping_packing_lists') }}
|
|
||||||
),
|
|
||||||
|
|
||||||
bookings AS (
|
|
||||||
SELECT * FROM {{ ref('stg_shipping__bookings') }}
|
|
||||||
),
|
|
||||||
|
|
||||||
booking_delivery_and_billing_addresses AS (
|
|
||||||
SELECT * FROM {{ ref('int_shipping__booking_delivery_and_billing_addresses') }}
|
|
||||||
),
|
|
||||||
|
|
||||||
origin_warehouse_receive_brg_transport_arrangements AS (
|
|
||||||
SELECT * FROM {{ ref('int_shipping__origin_warehouse_receive_transport_arrangements') }}
|
|
||||||
),
|
|
||||||
|
|
||||||
destination_warehouse_packing_list_transport_arrangements AS (
|
|
||||||
SELECT * FROM {{ ref('int_shipping__destination_warehouse_last_mile_transport_arrangements') }}
|
|
||||||
),
|
|
||||||
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids AS (
|
|
||||||
SELECT * FROM {{ ref('int_shipping__packing_list_invoice_payments_group_by_packing_list_ids') }}
|
|
||||||
),
|
|
||||||
|
|
||||||
packages_group_by_packing_list_ids AS (
|
|
||||||
SELECT * FROM {{ ref('int_shipping__packages_group_by_packing_list_ids') }}
|
|
||||||
),
|
|
||||||
|
|
||||||
container_group_by_packing_list_ids AS (
|
|
||||||
SELECT * FROM {{ ref('int_shipping__origin_warehouse_container_shipping_transport_arrangements') }}
|
|
||||||
),
|
|
||||||
|
|
||||||
|
|
||||||
-- LOGIC
|
|
||||||
origin_warehouse_receive_packing_lists_enrich AS (
|
|
||||||
SELECT
|
|
||||||
origin_warehouse_receive_packing_lists.origin_warehouse_receive_packing_list_id,
|
|
||||||
origin_warehouse_receive_packing_lists.old_origin_warehouse_receive_packing_list_id,
|
|
||||||
origin_warehouse_receive_packing_lists.has_replaced_by_new_id AS has_replaced_by_new_origin_warehouse_receive_packing_list_id,
|
|
||||||
|
|
||||||
|
|
||||||
IFF(vt_origin_warehouse_receive_packing_list_brg_shipping_packing_lists.warehouse_order_number is not null,
|
|
||||||
vt_origin_warehouse_receive_packing_list_brg_shipping_packing_lists.warehouse_order_number,
|
|
||||||
origin_warehouse_receive_packing_lists.warehouse_order_number) AS warehouse_order_number,
|
|
||||||
|
|
||||||
origin_warehouse_receive_packing_lists.booking_id,
|
|
||||||
origin_warehouse_receive_packing_lists.warehouse_sub_company_id,
|
|
||||||
origin_warehouse_receive_packing_lists.reference_contract,
|
|
||||||
origin_warehouse_receive_packing_lists.status AS origin_warehouse_receive_order_status,
|
|
||||||
origin_warehouse_receive_packing_lists.created_datetime AS origin_warehouse_receive_order_created_datetime,
|
|
||||||
|
|
||||||
bookings.sub_company_id,
|
|
||||||
bookings.service_type,
|
|
||||||
bookings.status AS booking_status,
|
|
||||||
bookings.created_datetime AS booking_created_datetime,
|
|
||||||
|
|
||||||
booking_delivery_and_billing_addresses.delivery_address_reference,
|
|
||||||
booking_delivery_and_billing_addresses.delivery_address_line_one,
|
|
||||||
booking_delivery_and_billing_addresses.delivery_address_line_two,
|
|
||||||
booking_delivery_and_billing_addresses.delivery_address_district_name,
|
|
||||||
booking_delivery_and_billing_addresses.delivery_address_state_name,
|
|
||||||
booking_delivery_and_billing_addresses.delivery_address_country_name,
|
|
||||||
booking_delivery_and_billing_addresses.delivery_address_postcode,
|
|
||||||
booking_delivery_and_billing_addresses.delivery_address_type,
|
|
||||||
booking_delivery_and_billing_addresses.is_default_delivery_address,
|
|
||||||
booking_delivery_and_billing_addresses.delivery_address_status,
|
|
||||||
booking_delivery_and_billing_addresses.billing_address_reference,
|
|
||||||
booking_delivery_and_billing_addresses.billing_address_line_one,
|
|
||||||
booking_delivery_and_billing_addresses.billing_address_line_two,
|
|
||||||
booking_delivery_and_billing_addresses.billing_address_district_name,
|
|
||||||
booking_delivery_and_billing_addresses.billing_address_state_name,
|
|
||||||
booking_delivery_and_billing_addresses.billing_address_country_name,
|
|
||||||
booking_delivery_and_billing_addresses.billing_address_postcode,
|
|
||||||
booking_delivery_and_billing_addresses.billing_address_type,
|
|
||||||
booking_delivery_and_billing_addresses.is_default_billing_address,
|
|
||||||
booking_delivery_and_billing_addresses.billing_address_status,
|
|
||||||
booking_delivery_and_billing_addresses.delivery_address_created_datetime,
|
|
||||||
booking_delivery_and_billing_addresses.billing_address_created_datetime,
|
|
||||||
|
|
||||||
packages_group_by_packing_list_ids.package_descriptions,
|
|
||||||
packages_group_by_packing_list_ids.number_of_package_record,
|
|
||||||
packages_group_by_packing_list_ids.total_package_width_cm,
|
|
||||||
packages_group_by_packing_list_ids.total_package_height_cm,
|
|
||||||
packages_group_by_packing_list_ids.total_package_length_cm,
|
|
||||||
packages_group_by_packing_list_ids.total_package_weight_kg,
|
|
||||||
packages_group_by_packing_list_ids.total_package_item,
|
|
||||||
packages_group_by_packing_list_ids.total_package_cbm,
|
|
||||||
packages_group_by_packing_list_ids.number_of_over_weight_charge_record,
|
|
||||||
packages_group_by_packing_list_ids.over_weight_cbm,
|
|
||||||
packages_group_by_packing_list_ids.over_weight_kg,
|
|
||||||
packages_group_by_packing_list_ids.number_of_pallet_charge_record,
|
|
||||||
packages_group_by_packing_list_ids.pallet_charge_cbm,
|
|
||||||
|
|
||||||
origin_warehouse_receive_brg_transport_arrangements.origin_factory_transport_arrangement_id,
|
|
||||||
origin_warehouse_receive_brg_transport_arrangements.origin_factory_transport_transport_mode,
|
|
||||||
origin_warehouse_receive_brg_transport_arrangements.origin_factory_transport_courier,
|
|
||||||
origin_warehouse_receive_brg_transport_arrangements.origin_factory_transport_tracking_number,
|
|
||||||
origin_warehouse_receive_brg_transport_arrangements.origin_factory_transport_status,
|
|
||||||
origin_warehouse_receive_brg_transport_arrangements.origin_factory_transport_number_of_etd_datetime_postpone,
|
|
||||||
origin_warehouse_receive_brg_transport_arrangements.origin_factory_transport_number_of_eta_datetime_postpone,
|
|
||||||
origin_warehouse_receive_brg_transport_arrangements.origin_factory_transport_dispatched_datetime,
|
|
||||||
origin_warehouse_receive_brg_transport_arrangements.origin_factory_transport_droped_datetime,
|
|
||||||
origin_warehouse_receive_brg_transport_arrangements.origin_factory_transport_etd_datetimes,
|
|
||||||
origin_warehouse_receive_brg_transport_arrangements.origin_factory_transport_first_etd_datetime,
|
|
||||||
origin_warehouse_receive_brg_transport_arrangements.origin_factory_transport_last_etd_datetime,
|
|
||||||
origin_warehouse_receive_brg_transport_arrangements.origin_factory_transport_eta_datetimes,
|
|
||||||
origin_warehouse_receive_brg_transport_arrangements.origin_factory_transport_first_eta_datetime,
|
|
||||||
origin_warehouse_receive_brg_transport_arrangements.origin_factory_transport_last_eta_datetime,
|
|
||||||
origin_warehouse_receive_brg_transport_arrangements.origin_factory_transport_first_estimate_schedule_created_datetime,
|
|
||||||
origin_warehouse_receive_brg_transport_arrangements.origin_factory_transport_last_estimate_schedule_created_datetime,
|
|
||||||
origin_warehouse_receive_brg_transport_arrangements.origin_factory_transport_created_datetime
|
|
||||||
|
|
||||||
FROM origin_warehouse_receive_packing_lists
|
|
||||||
|
|
||||||
LEFT JOIN vt_origin_warehouse_receive_packing_list_brg_shipping_packing_lists
|
|
||||||
ON (origin_warehouse_receive_packing_lists.old_origin_warehouse_receive_packing_list_id = vt_origin_warehouse_receive_packing_list_brg_shipping_packing_lists.old_origin_warehouse_receive_packing_list_id)
|
|
||||||
|
|
||||||
LEFT JOIN bookings
|
|
||||||
ON (origin_warehouse_receive_packing_lists.booking_id = bookings.booking_id)
|
|
||||||
|
|
||||||
LEFT JOIN booking_delivery_and_billing_addresses
|
|
||||||
ON (bookings.booking_id = booking_delivery_and_billing_addresses.booking_id)
|
|
||||||
|
|
||||||
LEFT JOIN packages_group_by_packing_list_ids
|
|
||||||
ON (origin_warehouse_receive_packing_lists.origin_warehouse_receive_packing_list_id = packages_group_by_packing_list_ids.packing_list_id)
|
|
||||||
|
|
||||||
LEFT JOIN origin_warehouse_receive_brg_transport_arrangements
|
|
||||||
ON (origin_warehouse_receive_packing_lists.old_origin_warehouse_receive_packing_list_id = origin_warehouse_receive_brg_transport_arrangements.old_origin_warehouse_receive_packing_list_id)
|
|
||||||
),
|
|
||||||
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich AS (
|
|
||||||
SELECT
|
|
||||||
origin_warehouse_shipping_packing_lists.origin_warehouse_shipping_packing_list_id,
|
|
||||||
origin_warehouse_shipping_packing_lists.old_origin_warehouse_shipping_packing_list_id,
|
|
||||||
origin_warehouse_shipping_packing_lists.has_replaced_by_new_id AS has_replaced_by_new_origin_warehouse_shipping_packing_list_id,
|
|
||||||
|
|
||||||
IFF(vt_origin_warehouse_receive_packing_list_brg_shipping_packing_lists.warehouse_order_number is not null,
|
|
||||||
vt_origin_warehouse_receive_packing_list_brg_shipping_packing_lists.warehouse_order_number,
|
|
||||||
origin_warehouse_shipping_packing_lists.warehouse_order_number) AS warehouse_order_number,
|
|
||||||
|
|
||||||
origin_warehouse_shipping_packing_lists.warehouse_sub_company_id,
|
|
||||||
origin_warehouse_shipping_packing_lists.reference_contract,
|
|
||||||
origin_warehouse_shipping_packing_lists.status AS origin_warehouse_shipping_order_status,
|
|
||||||
origin_warehouse_shipping_packing_lists.created_datetime AS origin_warehouse_shipping_order_created_datetime,
|
|
||||||
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.invoice_sub_company_id,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.payment_sub_company_id,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.number_of_invoice,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.number_of_payment,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.invoice_number_of_shipping_fee,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.invoice_average_shipping_fee_price_per_quantity,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.invoice_total_shipping_fee_quantity,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.invoice_total_shipping_fee_value_rm,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.invoice_number_of_min_cbm_charge,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.invoice_average_min_cbm_charge_price_per_quantity,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.invoice_total_min_cbm_charge_quantity,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.invoice_total_min_cbm_charge_value_rm,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.invoice_number_of_over_weight_charge,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.invoice_average_over_weight_charge_price_per_quantity,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.invoice_total_over_weight_charge_quantity,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.invoice_total_over_weight_charge_value_rm,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.invoice_number_of_custom_charge,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.invoice_average_custom_charge_price_per_quantity,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.invoice_total_custom_charge_quantity,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.invoice_total_custom_charge_value_rm,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.invoice_value_rm,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.invoice_tax_rm,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.invoice_service_charge,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.payment_value_rm,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.payment_tax_rm,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.payment_service_charge_rm,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.last_invoice_created_datetime,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.last_payment_created_datetime,
|
|
||||||
|
|
||||||
packages_group_by_packing_list_ids.package_descriptions,
|
|
||||||
packages_group_by_packing_list_ids.number_of_package_record,
|
|
||||||
packages_group_by_packing_list_ids.total_package_width_cm,
|
|
||||||
packages_group_by_packing_list_ids.total_package_height_cm,
|
|
||||||
packages_group_by_packing_list_ids.total_package_length_cm,
|
|
||||||
packages_group_by_packing_list_ids.total_package_weight_kg,
|
|
||||||
packages_group_by_packing_list_ids.total_package_item,
|
|
||||||
packages_group_by_packing_list_ids.total_package_cbm,
|
|
||||||
packages_group_by_packing_list_ids.number_of_over_weight_charge_record,
|
|
||||||
packages_group_by_packing_list_ids.over_weight_cbm,
|
|
||||||
packages_group_by_packing_list_ids.over_weight_kg,
|
|
||||||
packages_group_by_packing_list_ids.number_of_pallet_charge_record,
|
|
||||||
packages_group_by_packing_list_ids.pallet_charge_cbm,
|
|
||||||
|
|
||||||
container_group_by_packing_list_ids.container_id,
|
|
||||||
container_group_by_packing_list_ids.container_warehouse_sub_company_id,
|
|
||||||
container_group_by_packing_list_ids.container_transport_arrangement_id,
|
|
||||||
container_group_by_packing_list_ids.container_reference,
|
|
||||||
container_group_by_packing_list_ids.container_number,
|
|
||||||
container_group_by_packing_list_ids.container_seal_reference,
|
|
||||||
container_group_by_packing_list_ids.container_type,
|
|
||||||
container_group_by_packing_list_ids.container_status,
|
|
||||||
container_group_by_packing_list_ids.container_transport_arrangment_status,
|
|
||||||
container_group_by_packing_list_ids.container_deliver_courier,
|
|
||||||
container_group_by_packing_list_ids.container_tracking_number,
|
|
||||||
container_group_by_packing_list_ids.number_of_container_etd_datetime_postpone,
|
|
||||||
container_group_by_packing_list_ids.number_of_container_eta_datetime_postpone,
|
|
||||||
container_group_by_packing_list_ids.container_loaded_datetime,
|
|
||||||
container_group_by_packing_list_ids.container_departed_datetime,
|
|
||||||
container_group_by_packing_list_ids.container_arrived_datetime,
|
|
||||||
container_group_by_packing_list_ids.container_etd_datetimes,
|
|
||||||
container_group_by_packing_list_ids.first_container_etd_datetimes,
|
|
||||||
container_group_by_packing_list_ids.last_container_etd_datetimes,
|
|
||||||
container_group_by_packing_list_ids.container_eta_datetimes,
|
|
||||||
container_group_by_packing_list_ids.first_container_eta_datetime,
|
|
||||||
container_group_by_packing_list_ids.last_container_eta_datetime,
|
|
||||||
container_group_by_packing_list_ids.first_container_estimate_schedule_created_datetime,
|
|
||||||
container_group_by_packing_list_ids.last_container_estimate_schedule_created_datetime,
|
|
||||||
container_group_by_packing_list_ids.container_deleted_datetime,
|
|
||||||
container_group_by_packing_list_ids.container_created_datetime,
|
|
||||||
container_group_by_packing_list_ids.container_updated_datetime,
|
|
||||||
|
|
||||||
destination_warehouse_packing_list_transport_arrangements.destination_warehouse_transport_arrangement_id,
|
|
||||||
destination_warehouse_packing_list_transport_arrangements.destination_warehouse_transport_transport_mode,
|
|
||||||
destination_warehouse_packing_list_transport_arrangements.destination_warehouse_transport_courier,
|
|
||||||
destination_warehouse_packing_list_transport_arrangements.destination_warehouse_transport_tracking_number,
|
|
||||||
destination_warehouse_packing_list_transport_arrangements.destination_warehouse_transport_status,
|
|
||||||
destination_warehouse_packing_list_transport_arrangements.destination_warehouse_transport_number_of_etd_datetime_postpone,
|
|
||||||
destination_warehouse_packing_list_transport_arrangements.destination_warehouse_transport_number_of_eta_datetime_postpone,
|
|
||||||
destination_warehouse_packing_list_transport_arrangements.destination_warehouse_transport_dispatched_datetime,
|
|
||||||
destination_warehouse_packing_list_transport_arrangements.destination_warehouse_transport_droped_datetime,
|
|
||||||
destination_warehouse_packing_list_transport_arrangements.destination_warehouse_transport_etd_datetimes,
|
|
||||||
destination_warehouse_packing_list_transport_arrangements.destination_warehouse_transport_first_etd_datetime,
|
|
||||||
destination_warehouse_packing_list_transport_arrangements.destination_warehouse_transport_last_etd_datetime,
|
|
||||||
destination_warehouse_packing_list_transport_arrangements.destination_warehouse_transport_eta_datetimes,
|
|
||||||
destination_warehouse_packing_list_transport_arrangements.destination_warehouse_transport_first_eta_datetime,
|
|
||||||
destination_warehouse_packing_list_transport_arrangements.destination_warehouse_transport_last_eta_datetime,
|
|
||||||
destination_warehouse_packing_list_transport_arrangements.destination_warehouse_transport_first_estimate_schedule_created_datetime,
|
|
||||||
destination_warehouse_packing_list_transport_arrangements.destination_warehouse_transport_last_estimate_schedule_created_datetime,
|
|
||||||
destination_warehouse_packing_list_transport_arrangements.destination_warehouse_transport_created_datetime
|
|
||||||
|
|
||||||
|
|
||||||
FROM origin_warehouse_shipping_packing_lists
|
|
||||||
|
|
||||||
LEFT JOIN vt_origin_warehouse_receive_packing_list_brg_shipping_packing_lists
|
|
||||||
ON (origin_warehouse_shipping_packing_lists.old_origin_warehouse_shipping_packing_list_id = vt_origin_warehouse_receive_packing_list_brg_shipping_packing_lists.old_origin_warehouse_shipping_packing_list_id)
|
|
||||||
|
|
||||||
LEFT JOIN packing_list_invoice_payments_group_by_packing_list_ids
|
|
||||||
ON (origin_warehouse_shipping_packing_lists.old_origin_warehouse_shipping_packing_list_id = packing_list_invoice_payments_group_by_packing_list_ids.old_origin_warehouse_shipping_packing_list_id)
|
|
||||||
|
|
||||||
LEFT JOIN packages_group_by_packing_list_ids
|
|
||||||
ON (origin_warehouse_shipping_packing_lists.origin_warehouse_shipping_packing_list_id = packages_group_by_packing_list_ids.packing_list_id)
|
|
||||||
|
|
||||||
LEFT JOIN container_group_by_packing_list_ids
|
|
||||||
ON (origin_warehouse_shipping_packing_lists.old_origin_warehouse_shipping_packing_list_id = container_group_by_packing_list_ids.packing_list_id)
|
|
||||||
|
|
||||||
LEFT JOIN destination_warehouse_packing_list_transport_arrangements
|
|
||||||
ON (origin_warehouse_shipping_packing_lists.old_origin_warehouse_shipping_packing_list_id = destination_warehouse_packing_list_transport_arrangements.old_origin_warehouse_shipping_packing_list_id)
|
|
||||||
),
|
|
||||||
|
|
||||||
|
|
||||||
receive_join_shipping_list AS (
|
|
||||||
SELECT
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.origin_warehouse_receive_packing_list_id AS adjusted_origin_warehouse_receive_id,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.old_origin_warehouse_receive_packing_list_id AS origin_warehouse_receive_id,
|
|
||||||
IFF(origin_warehouse_receive_packing_lists_enrich.has_replaced_by_new_origin_warehouse_receive_packing_list_id = 1
|
|
||||||
OR
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.has_replaced_by_new_origin_warehouse_shipping_packing_list_id = 1,
|
|
||||||
1,
|
|
||||||
0) AS has_adjusted_measurment,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.warehouse_order_number,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.booking_id,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.warehouse_sub_company_id AS warehouse_location_sub_company_id,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.origin_warehouse_receive_order_status AS origin_warehouse_receive_status,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.origin_warehouse_receive_order_created_datetime AS origin_warehouse_receive_created_datetime,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.sub_company_id,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.service_type,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.booking_status,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.booking_created_datetime,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.delivery_address_reference,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.delivery_address_line_one,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.delivery_address_line_two,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.delivery_address_district_name,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.delivery_address_state_name,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.delivery_address_country_name,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.delivery_address_postcode,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.delivery_address_type,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.is_default_delivery_address,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.delivery_address_status,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.billing_address_reference,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.billing_address_line_one,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.billing_address_line_two,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.billing_address_district_name,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.billing_address_state_name,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.billing_address_country_name,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.billing_address_postcode,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.billing_address_type,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.is_default_billing_address,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.billing_address_status,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.delivery_address_created_datetime,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.billing_address_created_datetime,
|
|
||||||
CASE
|
|
||||||
WHEN origin_warehouse_receive_packing_lists_enrich.package_descriptions IS NOT NULL AND origin_warehouse_shipping_packing_lists_enrich.package_descriptions IS NOT NULL
|
|
||||||
THEN ARRAY_CAT(origin_warehouse_receive_packing_lists_enrich.package_descriptions, origin_warehouse_shipping_packing_lists_enrich.package_descriptions)
|
|
||||||
WHEN origin_warehouse_receive_packing_lists_enrich.package_descriptions IS NOT NULL
|
|
||||||
THEN origin_warehouse_receive_packing_lists_enrich.package_descriptions
|
|
||||||
ELSE origin_warehouse_shipping_packing_lists_enrich.package_descriptions
|
|
||||||
END AS package_descriptions,
|
|
||||||
GREATEST([origin_warehouse_shipping_packing_lists_enrich.number_of_package_record],[origin_warehouse_receive_packing_lists_enrich.number_of_package_record])[0]::INT AS number_of_package_record,
|
|
||||||
GREATEST([origin_warehouse_shipping_packing_lists_enrich.total_package_width_cm],[origin_warehouse_receive_packing_lists_enrich.total_package_width_cm])[0]::FLOAT AS total_package_width_cm,
|
|
||||||
GREATEST([origin_warehouse_shipping_packing_lists_enrich.total_package_height_cm], [origin_warehouse_receive_packing_lists_enrich.total_package_height_cm])[0]::FLOAT AS total_package_height_cm,
|
|
||||||
GREATEST([origin_warehouse_shipping_packing_lists_enrich.total_package_length_cm], [origin_warehouse_receive_packing_lists_enrich.total_package_length_cm])[0]::FLOAT AS total_package_length_cm,
|
|
||||||
GREATEST([origin_warehouse_shipping_packing_lists_enrich.total_package_weight_kg], [origin_warehouse_receive_packing_lists_enrich.total_package_weight_kg])[0]::FLOAT AS total_package_weight_kg,
|
|
||||||
GREATEST([origin_warehouse_shipping_packing_lists_enrich.total_package_item], [origin_warehouse_receive_packing_lists_enrich.total_package_item])[0]::FLOAT AS total_package_item,
|
|
||||||
GREATEST([origin_warehouse_shipping_packing_lists_enrich.total_package_cbm], [origin_warehouse_receive_packing_lists_enrich.total_package_cbm])[0]::FLOAT AS total_package_cbm,
|
|
||||||
GREATEST([origin_warehouse_shipping_packing_lists_enrich.number_of_over_weight_charge_record], [origin_warehouse_receive_packing_lists_enrich.number_of_over_weight_charge_record])[0]::INT AS number_of_over_weight_charge_record,
|
|
||||||
GREATEST([origin_warehouse_shipping_packing_lists_enrich.over_weight_cbm], [origin_warehouse_receive_packing_lists_enrich.over_weight_cbm])[0]::FLOAT AS over_weight_cbm,
|
|
||||||
GREATEST([origin_warehouse_shipping_packing_lists_enrich.over_weight_kg], [origin_warehouse_receive_packing_lists_enrich.over_weight_kg])[0]::FLOAT AS over_weight_kg,
|
|
||||||
GREATEST([origin_warehouse_shipping_packing_lists_enrich.number_of_pallet_charge_record], [origin_warehouse_receive_packing_lists_enrich.number_of_pallet_charge_record])[0]::INT AS number_of_pallet_charge_record,
|
|
||||||
GREATEST([origin_warehouse_shipping_packing_lists_enrich.pallet_charge_cbm], [origin_warehouse_receive_packing_lists_enrich.pallet_charge_cbm])[0]::FLOAT AS pallet_charge_cbm,
|
|
||||||
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.origin_factory_transport_arrangement_id,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.origin_factory_transport_transport_mode,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.origin_factory_transport_courier,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.origin_factory_transport_tracking_number,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.origin_factory_transport_status,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.origin_factory_transport_number_of_etd_datetime_postpone,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.origin_factory_transport_number_of_eta_datetime_postpone,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.origin_factory_transport_dispatched_datetime,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.origin_factory_transport_droped_datetime,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.origin_factory_transport_etd_datetimes,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.origin_factory_transport_first_etd_datetime,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.origin_factory_transport_last_etd_datetime,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.origin_factory_transport_eta_datetimes,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.origin_factory_transport_first_eta_datetime,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.origin_factory_transport_last_eta_datetime,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.origin_factory_transport_first_estimate_schedule_created_datetime,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.origin_factory_transport_last_estimate_schedule_created_datetime,
|
|
||||||
origin_warehouse_receive_packing_lists_enrich.origin_factory_transport_created_datetime,
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.origin_warehouse_shipping_packing_list_id AS adjusted_origin_warehouse_shipping_id,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.old_origin_warehouse_shipping_packing_list_id AS origin_warehouse_shipping_id,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.warehouse_sub_company_id AS warehouse_sub_company_id,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.reference_contract,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.origin_warehouse_shipping_order_status AS origin_warehouse_shipping_status,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.origin_warehouse_shipping_order_created_datetime AS origin_warehouse_shipping_created_datetime,
|
|
||||||
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.invoice_sub_company_id,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.payment_sub_company_id,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.number_of_invoice,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.number_of_payment,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.invoice_number_of_shipping_fee,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.invoice_average_shipping_fee_price_per_quantity,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.invoice_total_shipping_fee_quantity,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.invoice_total_shipping_fee_value_rm,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.invoice_number_of_min_cbm_charge,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.invoice_average_min_cbm_charge_price_per_quantity,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.invoice_total_min_cbm_charge_quantity,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.invoice_total_min_cbm_charge_value_rm,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.invoice_number_of_over_weight_charge,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.invoice_average_over_weight_charge_price_per_quantity,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.invoice_total_over_weight_charge_quantity,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.invoice_total_over_weight_charge_value_rm,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.invoice_number_of_custom_charge,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.invoice_average_custom_charge_price_per_quantity,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.invoice_total_custom_charge_quantity,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.invoice_total_custom_charge_value_rm,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.invoice_value_rm,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.invoice_tax_rm,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.invoice_service_charge,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.payment_value_rm,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.payment_tax_rm,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.payment_service_charge_rm,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.last_invoice_created_datetime,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.last_payment_created_datetime,
|
|
||||||
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.container_id,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.container_warehouse_sub_company_id,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.container_transport_arrangement_id,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.container_reference,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.container_number,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.container_seal_reference,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.container_type,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.container_status,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.container_transport_arrangment_status,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.container_deliver_courier,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.container_tracking_number,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.number_of_container_etd_datetime_postpone,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.number_of_container_eta_datetime_postpone,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.container_loaded_datetime,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.container_departed_datetime,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.container_arrived_datetime,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.container_etd_datetimes,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.first_container_etd_datetimes,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.last_container_etd_datetimes,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.container_eta_datetimes,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.first_container_eta_datetime,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.last_container_eta_datetime,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.first_container_estimate_schedule_created_datetime,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.last_container_estimate_schedule_created_datetime,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.container_deleted_datetime,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.container_created_datetime,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.container_updated_datetime,
|
|
||||||
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.destination_warehouse_transport_arrangement_id,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.destination_warehouse_transport_transport_mode,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.destination_warehouse_transport_courier,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.destination_warehouse_transport_tracking_number,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.destination_warehouse_transport_status,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.destination_warehouse_transport_number_of_etd_datetime_postpone,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.destination_warehouse_transport_number_of_eta_datetime_postpone,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.destination_warehouse_transport_dispatched_datetime,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.destination_warehouse_transport_droped_datetime,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.destination_warehouse_transport_etd_datetimes,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.destination_warehouse_transport_first_etd_datetime,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.destination_warehouse_transport_last_etd_datetime,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.destination_warehouse_transport_eta_datetimes,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.destination_warehouse_transport_first_eta_datetime,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.destination_warehouse_transport_last_eta_datetime,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.destination_warehouse_transport_first_estimate_schedule_created_datetime,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.destination_warehouse_transport_last_estimate_schedule_created_datetime,
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich.destination_warehouse_transport_created_datetime,
|
|
||||||
|
|
||||||
'{{ modules.datetime.datetime.now(modules.pytz.timezone("Asia/Kuala_Lumpur")) }}' AS _dbt_ran_datetime
|
|
||||||
|
|
||||||
FROM origin_warehouse_receive_packing_lists_enrich
|
|
||||||
|
|
||||||
LEFT JOIN origin_warehouse_shipping_packing_lists_enrich
|
|
||||||
ON (origin_warehouse_receive_packing_lists_enrich.warehouse_order_number = origin_warehouse_shipping_packing_lists_enrich.warehouse_order_number)
|
|
||||||
),
|
|
||||||
|
|
||||||
-- FINAL
|
|
||||||
final__fct_shipping__origin_warehouse_receive_packing_lists AS (
|
|
||||||
SELECT
|
|
||||||
-- ids
|
|
||||||
origin_warehouse_receive_id,
|
|
||||||
adjusted_origin_warehouse_receive_id,
|
|
||||||
booking_id,
|
|
||||||
sub_company_id,
|
|
||||||
invoice_sub_company_id,
|
|
||||||
payment_sub_company_id,
|
|
||||||
warehouse_location_sub_company_id,
|
|
||||||
warehouse_sub_company_id,
|
|
||||||
origin_factory_transport_arrangement_id,
|
|
||||||
origin_warehouse_shipping_id,
|
|
||||||
adjusted_origin_warehouse_shipping_id,
|
|
||||||
container_id,
|
|
||||||
container_warehouse_sub_company_id,
|
|
||||||
container_transport_arrangement_id,
|
|
||||||
destination_warehouse_transport_arrangement_id,
|
|
||||||
|
|
||||||
-- dimensions
|
|
||||||
warehouse_order_number,
|
|
||||||
has_adjusted_measurment,
|
|
||||||
service_type,
|
|
||||||
package_descriptions,
|
|
||||||
reference_contract,
|
|
||||||
is_default_delivery_address,
|
|
||||||
delivery_address_reference,
|
|
||||||
delivery_address_line_one,
|
|
||||||
delivery_address_line_two,
|
|
||||||
delivery_address_district_name,
|
|
||||||
delivery_address_state_name,
|
|
||||||
delivery_address_country_name,
|
|
||||||
delivery_address_postcode,
|
|
||||||
delivery_address_type,
|
|
||||||
is_default_billing_address,
|
|
||||||
billing_address_reference,
|
|
||||||
billing_address_line_one,
|
|
||||||
billing_address_line_two,
|
|
||||||
billing_address_district_name,
|
|
||||||
billing_address_state_name,
|
|
||||||
billing_address_country_name,
|
|
||||||
billing_address_postcode,
|
|
||||||
billing_address_type,
|
|
||||||
origin_factory_transport_transport_mode,
|
|
||||||
origin_factory_transport_courier,
|
|
||||||
origin_factory_transport_tracking_number,
|
|
||||||
container_type,
|
|
||||||
container_reference,
|
|
||||||
container_number,
|
|
||||||
container_seal_reference,
|
|
||||||
container_deliver_courier,
|
|
||||||
container_tracking_number,
|
|
||||||
destination_warehouse_transport_transport_mode,
|
|
||||||
destination_warehouse_transport_courier,
|
|
||||||
destination_warehouse_transport_tracking_number,
|
|
||||||
origin_factory_transport_status,
|
|
||||||
booking_status,
|
|
||||||
delivery_address_status,
|
|
||||||
billing_address_status,
|
|
||||||
origin_warehouse_receive_status,
|
|
||||||
origin_warehouse_shipping_status,
|
|
||||||
container_status,
|
|
||||||
container_transport_arrangment_status,
|
|
||||||
destination_warehouse_transport_status,
|
|
||||||
|
|
||||||
-- measures
|
|
||||||
number_of_package_record,
|
|
||||||
total_package_width_cm,
|
|
||||||
total_package_height_cm,
|
|
||||||
total_package_length_cm,
|
|
||||||
total_package_weight_kg,
|
|
||||||
total_package_item,
|
|
||||||
total_package_cbm,
|
|
||||||
number_of_over_weight_charge_record,
|
|
||||||
over_weight_cbm,
|
|
||||||
over_weight_kg,
|
|
||||||
number_of_pallet_charge_record,
|
|
||||||
pallet_charge_cbm,
|
|
||||||
number_of_invoice,
|
|
||||||
number_of_payment,
|
|
||||||
invoice_number_of_shipping_fee,
|
|
||||||
invoice_average_shipping_fee_price_per_quantity,
|
|
||||||
invoice_total_shipping_fee_quantity,
|
|
||||||
invoice_total_shipping_fee_value_rm,
|
|
||||||
invoice_number_of_min_cbm_charge,
|
|
||||||
invoice_average_min_cbm_charge_price_per_quantity,
|
|
||||||
invoice_total_min_cbm_charge_quantity,
|
|
||||||
invoice_total_min_cbm_charge_value_rm,
|
|
||||||
invoice_number_of_over_weight_charge,
|
|
||||||
invoice_average_over_weight_charge_price_per_quantity,
|
|
||||||
invoice_total_over_weight_charge_quantity,
|
|
||||||
invoice_total_over_weight_charge_value_rm,
|
|
||||||
invoice_number_of_custom_charge,
|
|
||||||
invoice_average_custom_charge_price_per_quantity,
|
|
||||||
invoice_total_custom_charge_quantity,
|
|
||||||
invoice_total_custom_charge_value_rm,
|
|
||||||
invoice_value_rm,
|
|
||||||
invoice_tax_rm,
|
|
||||||
invoice_service_charge,
|
|
||||||
payment_value_rm,
|
|
||||||
payment_tax_rm,
|
|
||||||
payment_service_charge_rm,
|
|
||||||
origin_factory_transport_number_of_etd_datetime_postpone,
|
|
||||||
origin_factory_transport_number_of_eta_datetime_postpone,
|
|
||||||
number_of_container_etd_datetime_postpone,
|
|
||||||
number_of_container_eta_datetime_postpone,
|
|
||||||
destination_warehouse_transport_number_of_etd_datetime_postpone,
|
|
||||||
destination_warehouse_transport_number_of_eta_datetime_postpone,
|
|
||||||
|
|
||||||
-- date/times
|
|
||||||
booking_created_datetime,
|
|
||||||
delivery_address_created_datetime,
|
|
||||||
billing_address_created_datetime,
|
|
||||||
origin_factory_transport_created_datetime,
|
|
||||||
origin_factory_transport_etd_datetimes,
|
|
||||||
origin_factory_transport_first_etd_datetime,
|
|
||||||
origin_factory_transport_last_etd_datetime,
|
|
||||||
origin_factory_transport_dispatched_datetime,
|
|
||||||
origin_factory_transport_droped_datetime,
|
|
||||||
origin_factory_transport_eta_datetimes,
|
|
||||||
origin_factory_transport_first_eta_datetime,
|
|
||||||
origin_factory_transport_last_eta_datetime,
|
|
||||||
origin_warehouse_receive_created_datetime,
|
|
||||||
origin_warehouse_shipping_created_datetime,
|
|
||||||
last_invoice_created_datetime,
|
|
||||||
last_payment_created_datetime,
|
|
||||||
container_created_datetime,
|
|
||||||
container_loaded_datetime,
|
|
||||||
container_departed_datetime,
|
|
||||||
container_arrived_datetime,
|
|
||||||
container_etd_datetimes,
|
|
||||||
first_container_etd_datetimes,
|
|
||||||
last_container_etd_datetimes,
|
|
||||||
container_eta_datetimes,
|
|
||||||
first_container_eta_datetime,
|
|
||||||
last_container_eta_datetime,
|
|
||||||
destination_warehouse_transport_created_datetime,
|
|
||||||
destination_warehouse_transport_dispatched_datetime,
|
|
||||||
destination_warehouse_transport_droped_datetime,
|
|
||||||
destination_warehouse_transport_etd_datetimes,
|
|
||||||
destination_warehouse_transport_first_etd_datetime,
|
|
||||||
destination_warehouse_transport_last_etd_datetime,
|
|
||||||
destination_warehouse_transport_eta_datetimes,
|
|
||||||
destination_warehouse_transport_first_eta_datetime,
|
|
||||||
destination_warehouse_transport_last_eta_datetime,
|
|
||||||
|
|
||||||
-- metadata
|
|
||||||
_dbt_ran_datetime
|
|
||||||
|
|
||||||
FROM receive_join_shipping_list
|
|
||||||
)
|
|
||||||
|
|
||||||
SELECT * FROM final__fct_shipping__origin_warehouse_receive_packing_lists
|
|
||||||
@@ -1,360 +0,0 @@
|
|||||||
-- IMPORT
|
|
||||||
WITH origin_warehouse_shipping_packing_lists AS (
|
|
||||||
SELECT * FROM {{ ref('stg_shipping__warehouse_shipping_packing_lists') }}
|
|
||||||
),
|
|
||||||
|
|
||||||
bookings AS (
|
|
||||||
SELECT * FROM {{ ref('stg_shipping__bookings') }}
|
|
||||||
),
|
|
||||||
|
|
||||||
booking_delivery_and_billing_addresses AS (
|
|
||||||
SELECT * FROM {{ ref('int_shipping__booking_delivery_and_billing_addresses') }}
|
|
||||||
),
|
|
||||||
|
|
||||||
destination_warehouse_packing_list_transport_arrangements AS (
|
|
||||||
SELECT * FROM {{ ref('int_shipping__destination_warehouse_last_mile_transport_arrangements') }}
|
|
||||||
),
|
|
||||||
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids AS (
|
|
||||||
SELECT * FROM {{ ref('int_shipping__packing_list_invoice_payments_group_by_packing_list_ids') }}
|
|
||||||
),
|
|
||||||
|
|
||||||
packages_group_by_packing_list_ids AS (
|
|
||||||
SELECT * FROM {{ ref('int_shipping__packages_group_by_packing_list_ids') }}
|
|
||||||
),
|
|
||||||
|
|
||||||
container_group_by_packing_list_ids AS (
|
|
||||||
SELECT * FROM {{ ref('int_shipping__origin_warehouse_container_shipping_transport_arrangements') }}
|
|
||||||
),
|
|
||||||
|
|
||||||
|
|
||||||
-- LOGIC
|
|
||||||
origin_warehouse_shipping_packing_lists_enrich AS (
|
|
||||||
SELECT
|
|
||||||
origin_warehouse_shipping_packing_lists.origin_warehouse_shipping_packing_list_id,
|
|
||||||
origin_warehouse_shipping_packing_lists.old_origin_warehouse_shipping_packing_list_id,
|
|
||||||
origin_warehouse_shipping_packing_lists.has_replaced_by_new_id AS has_replaced_by_new_origin_warehouse_shipping_packing_list_id,
|
|
||||||
|
|
||||||
origin_warehouse_shipping_packing_lists.warehouse_order_number AS warehouse_order_number,
|
|
||||||
|
|
||||||
origin_warehouse_shipping_packing_lists.warehouse_sub_company_id,
|
|
||||||
origin_warehouse_shipping_packing_lists.reference_contract,
|
|
||||||
origin_warehouse_shipping_packing_lists.status AS origin_warehouse_shipping_order_status,
|
|
||||||
origin_warehouse_shipping_packing_lists.created_datetime AS origin_warehouse_shipping_order_created_datetime,
|
|
||||||
|
|
||||||
origin_warehouse_shipping_packing_lists.booking_id,
|
|
||||||
bookings.sub_company_id,
|
|
||||||
bookings.service_type,
|
|
||||||
bookings.status AS booking_status,
|
|
||||||
bookings.created_datetime AS booking_created_datetime,
|
|
||||||
|
|
||||||
booking_delivery_and_billing_addresses.delivery_address_reference,
|
|
||||||
booking_delivery_and_billing_addresses.delivery_address_line_one,
|
|
||||||
booking_delivery_and_billing_addresses.delivery_address_line_two,
|
|
||||||
booking_delivery_and_billing_addresses.delivery_address_district_name,
|
|
||||||
booking_delivery_and_billing_addresses.delivery_address_state_name,
|
|
||||||
booking_delivery_and_billing_addresses.delivery_address_country_name,
|
|
||||||
booking_delivery_and_billing_addresses.delivery_address_postcode,
|
|
||||||
booking_delivery_and_billing_addresses.delivery_address_type,
|
|
||||||
booking_delivery_and_billing_addresses.is_default_delivery_address,
|
|
||||||
booking_delivery_and_billing_addresses.delivery_address_status,
|
|
||||||
booking_delivery_and_billing_addresses.billing_address_reference,
|
|
||||||
booking_delivery_and_billing_addresses.billing_address_line_one,
|
|
||||||
booking_delivery_and_billing_addresses.billing_address_line_two,
|
|
||||||
booking_delivery_and_billing_addresses.billing_address_district_name,
|
|
||||||
booking_delivery_and_billing_addresses.billing_address_state_name,
|
|
||||||
booking_delivery_and_billing_addresses.billing_address_country_name,
|
|
||||||
booking_delivery_and_billing_addresses.billing_address_postcode,
|
|
||||||
booking_delivery_and_billing_addresses.billing_address_type,
|
|
||||||
booking_delivery_and_billing_addresses.is_default_billing_address,
|
|
||||||
booking_delivery_and_billing_addresses.billing_address_status,
|
|
||||||
booking_delivery_and_billing_addresses.delivery_address_created_datetime,
|
|
||||||
booking_delivery_and_billing_addresses.billing_address_created_datetime,
|
|
||||||
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.invoice_sub_company_id,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.payment_sub_company_id,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.number_of_invoice,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.number_of_payment,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.invoice_number_of_shipping_fee,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.invoice_average_shipping_fee_price_per_quantity,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.invoice_total_shipping_fee_quantity,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.invoice_total_shipping_fee_value_rm,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.invoice_number_of_min_cbm_charge,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.invoice_average_min_cbm_charge_price_per_quantity,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.invoice_total_min_cbm_charge_quantity,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.invoice_total_min_cbm_charge_value_rm,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.invoice_number_of_over_weight_charge,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.invoice_average_over_weight_charge_price_per_quantity,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.invoice_total_over_weight_charge_quantity,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.invoice_total_over_weight_charge_value_rm,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.invoice_number_of_custom_charge,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.invoice_average_custom_charge_price_per_quantity,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.invoice_total_custom_charge_quantity,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.invoice_total_custom_charge_value_rm,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.invoice_value_rm,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.invoice_tax_rm,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.invoice_service_charge,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.payment_value_rm,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.payment_tax_rm,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.payment_service_charge_rm,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.last_invoice_created_datetime,
|
|
||||||
packing_list_invoice_payments_group_by_packing_list_ids.last_payment_created_datetime,
|
|
||||||
|
|
||||||
packages_group_by_packing_list_ids.package_descriptions,
|
|
||||||
packages_group_by_packing_list_ids.number_of_package_record,
|
|
||||||
packages_group_by_packing_list_ids.total_package_width_cm,
|
|
||||||
packages_group_by_packing_list_ids.total_package_height_cm,
|
|
||||||
packages_group_by_packing_list_ids.total_package_length_cm,
|
|
||||||
packages_group_by_packing_list_ids.total_package_weight_kg,
|
|
||||||
packages_group_by_packing_list_ids.total_package_item,
|
|
||||||
packages_group_by_packing_list_ids.total_package_cbm,
|
|
||||||
packages_group_by_packing_list_ids.number_of_over_weight_charge_record,
|
|
||||||
packages_group_by_packing_list_ids.over_weight_cbm,
|
|
||||||
packages_group_by_packing_list_ids.over_weight_kg,
|
|
||||||
packages_group_by_packing_list_ids.number_of_pallet_charge_record,
|
|
||||||
packages_group_by_packing_list_ids.pallet_charge_cbm,
|
|
||||||
|
|
||||||
container_group_by_packing_list_ids.container_id,
|
|
||||||
container_group_by_packing_list_ids.container_warehouse_sub_company_id,
|
|
||||||
container_group_by_packing_list_ids.container_transport_arrangement_id,
|
|
||||||
container_group_by_packing_list_ids.container_reference,
|
|
||||||
container_group_by_packing_list_ids.container_number,
|
|
||||||
container_group_by_packing_list_ids.container_seal_reference,
|
|
||||||
container_group_by_packing_list_ids.container_type,
|
|
||||||
container_group_by_packing_list_ids.container_status,
|
|
||||||
container_group_by_packing_list_ids.container_transport_arrangment_status,
|
|
||||||
container_group_by_packing_list_ids.container_deliver_courier,
|
|
||||||
container_group_by_packing_list_ids.container_tracking_number,
|
|
||||||
container_group_by_packing_list_ids.number_of_container_etd_datetime_postpone,
|
|
||||||
container_group_by_packing_list_ids.number_of_container_eta_datetime_postpone,
|
|
||||||
container_group_by_packing_list_ids.container_loaded_datetime,
|
|
||||||
container_group_by_packing_list_ids.container_departed_datetime,
|
|
||||||
container_group_by_packing_list_ids.container_arrived_datetime,
|
|
||||||
container_group_by_packing_list_ids.container_etd_datetimes,
|
|
||||||
container_group_by_packing_list_ids.first_container_etd_datetimes,
|
|
||||||
container_group_by_packing_list_ids.last_container_etd_datetimes,
|
|
||||||
container_group_by_packing_list_ids.container_eta_datetimes,
|
|
||||||
container_group_by_packing_list_ids.first_container_eta_datetime,
|
|
||||||
container_group_by_packing_list_ids.last_container_eta_datetime,
|
|
||||||
container_group_by_packing_list_ids.first_container_estimate_schedule_created_datetime,
|
|
||||||
container_group_by_packing_list_ids.last_container_estimate_schedule_created_datetime,
|
|
||||||
container_group_by_packing_list_ids.container_deleted_datetime,
|
|
||||||
container_group_by_packing_list_ids.container_created_datetime,
|
|
||||||
container_group_by_packing_list_ids.container_updated_datetime,
|
|
||||||
|
|
||||||
destination_warehouse_packing_list_transport_arrangements.destination_warehouse_transport_arrangement_id,
|
|
||||||
destination_warehouse_packing_list_transport_arrangements.destination_warehouse_transport_transport_mode,
|
|
||||||
destination_warehouse_packing_list_transport_arrangements.destination_warehouse_transport_courier,
|
|
||||||
destination_warehouse_packing_list_transport_arrangements.destination_warehouse_transport_tracking_number,
|
|
||||||
destination_warehouse_packing_list_transport_arrangements.destination_warehouse_transport_status,
|
|
||||||
destination_warehouse_packing_list_transport_arrangements.destination_warehouse_transport_number_of_etd_datetime_postpone,
|
|
||||||
destination_warehouse_packing_list_transport_arrangements.destination_warehouse_transport_number_of_eta_datetime_postpone,
|
|
||||||
destination_warehouse_packing_list_transport_arrangements.destination_warehouse_transport_dispatched_datetime,
|
|
||||||
destination_warehouse_packing_list_transport_arrangements.destination_warehouse_transport_droped_datetime,
|
|
||||||
destination_warehouse_packing_list_transport_arrangements.destination_warehouse_transport_etd_datetimes,
|
|
||||||
destination_warehouse_packing_list_transport_arrangements.destination_warehouse_transport_first_etd_datetime,
|
|
||||||
destination_warehouse_packing_list_transport_arrangements.destination_warehouse_transport_last_etd_datetime,
|
|
||||||
destination_warehouse_packing_list_transport_arrangements.destination_warehouse_transport_eta_datetimes,
|
|
||||||
destination_warehouse_packing_list_transport_arrangements.destination_warehouse_transport_first_eta_datetime,
|
|
||||||
destination_warehouse_packing_list_transport_arrangements.destination_warehouse_transport_last_eta_datetime,
|
|
||||||
destination_warehouse_packing_list_transport_arrangements.destination_warehouse_transport_first_estimate_schedule_created_datetime,
|
|
||||||
destination_warehouse_packing_list_transport_arrangements.destination_warehouse_transport_last_estimate_schedule_created_datetime,
|
|
||||||
destination_warehouse_packing_list_transport_arrangements.destination_warehouse_transport_created_datetime
|
|
||||||
|
|
||||||
|
|
||||||
FROM origin_warehouse_shipping_packing_lists
|
|
||||||
|
|
||||||
LEFT JOIN bookings
|
|
||||||
ON (origin_warehouse_shipping_packing_lists.booking_id = bookings.booking_id)
|
|
||||||
|
|
||||||
LEFT JOIN booking_delivery_and_billing_addresses
|
|
||||||
ON (bookings.booking_id = booking_delivery_and_billing_addresses.booking_id)
|
|
||||||
|
|
||||||
LEFT JOIN packing_list_invoice_payments_group_by_packing_list_ids
|
|
||||||
ON (origin_warehouse_shipping_packing_lists.old_origin_warehouse_shipping_packing_list_id = packing_list_invoice_payments_group_by_packing_list_ids.old_origin_warehouse_shipping_packing_list_id)
|
|
||||||
|
|
||||||
LEFT JOIN packages_group_by_packing_list_ids
|
|
||||||
ON (origin_warehouse_shipping_packing_lists.origin_warehouse_shipping_packing_list_id = packages_group_by_packing_list_ids.packing_list_id)
|
|
||||||
|
|
||||||
LEFT JOIN container_group_by_packing_list_ids
|
|
||||||
ON (origin_warehouse_shipping_packing_lists.old_origin_warehouse_shipping_packing_list_id = container_group_by_packing_list_ids.packing_list_id)
|
|
||||||
|
|
||||||
LEFT JOIN destination_warehouse_packing_list_transport_arrangements
|
|
||||||
ON (origin_warehouse_shipping_packing_lists.old_origin_warehouse_shipping_packing_list_id = destination_warehouse_packing_list_transport_arrangements.old_origin_warehouse_shipping_packing_list_id)
|
|
||||||
),
|
|
||||||
|
|
||||||
create_new_column AS (
|
|
||||||
SELECT
|
|
||||||
*,
|
|
||||||
(ZEROIFNULL(total_package_cbm) +
|
|
||||||
ZEROIFNULL(over_weight_cbm) +
|
|
||||||
ZEROIFNULL(pallet_charge_cbm)) AS total_order_cbm,
|
|
||||||
|
|
||||||
CASE
|
|
||||||
WHEN ROW_NUMBER() OVER (PARTITION BY sub_company_id ORDER BY origin_warehouse_shipping_order_created_datetime) = 1 THEN 1
|
|
||||||
ELSE 0
|
|
||||||
END AS is_first_time_sub_company,
|
|
||||||
|
|
||||||
CASE
|
|
||||||
WHEN origin_warehouse_shipping_order_status = 'COMPLETED'
|
|
||||||
AND
|
|
||||||
MIN(IFF(origin_warehouse_shipping_order_status = 'COMPLETED', origin_warehouse_shipping_order_created_datetime, NULL))
|
|
||||||
OVER (PARTITION BY sub_company_id)
|
|
||||||
= origin_warehouse_shipping_order_created_datetime
|
|
||||||
THEN 1
|
|
||||||
ELSE 0
|
|
||||||
END AS is_first_time_sub_company_completed,
|
|
||||||
|
|
||||||
LEAD(origin_warehouse_shipping_order_created_datetime) OVER (
|
|
||||||
PARTITION BY sub_company_id ORDER BY (origin_warehouse_shipping_order_created_datetime, CAST(origin_warehouse_shipping_packing_list_id AS INT))
|
|
||||||
) AS next_origin_warehouse_shipping_order_created_datetime,
|
|
||||||
|
|
||||||
'{{ modules.datetime.datetime.now(modules.pytz.timezone("Asia/Kuala_Lumpur")) }}' AS _dbt_ran_datetime
|
|
||||||
|
|
||||||
FROM origin_warehouse_shipping_packing_lists_enrich
|
|
||||||
),
|
|
||||||
|
|
||||||
|
|
||||||
-- FINAL
|
|
||||||
final__fct_shipping__origin_warehouse_shipping_packing_lists AS (
|
|
||||||
SELECT
|
|
||||||
-- ids
|
|
||||||
origin_warehouse_shipping_packing_list_id,
|
|
||||||
old_origin_warehouse_shipping_packing_list_id,
|
|
||||||
booking_id,
|
|
||||||
sub_company_id,
|
|
||||||
warehouse_sub_company_id,
|
|
||||||
invoice_sub_company_id,
|
|
||||||
payment_sub_company_id,
|
|
||||||
container_id,
|
|
||||||
container_warehouse_sub_company_id,
|
|
||||||
container_transport_arrangement_id,
|
|
||||||
destination_warehouse_transport_arrangement_id,
|
|
||||||
|
|
||||||
-- dimensions
|
|
||||||
warehouse_order_number,
|
|
||||||
reference_contract,
|
|
||||||
has_replaced_by_new_origin_warehouse_shipping_packing_list_id,
|
|
||||||
is_first_time_sub_company,
|
|
||||||
is_first_time_sub_company_completed,
|
|
||||||
service_type,
|
|
||||||
package_descriptions,
|
|
||||||
delivery_address_reference,
|
|
||||||
delivery_address_line_one,
|
|
||||||
delivery_address_line_two,
|
|
||||||
delivery_address_district_name,
|
|
||||||
delivery_address_state_name,
|
|
||||||
delivery_address_country_name,
|
|
||||||
delivery_address_postcode,
|
|
||||||
delivery_address_type,
|
|
||||||
is_default_delivery_address,
|
|
||||||
delivery_address_status,
|
|
||||||
billing_address_reference,
|
|
||||||
billing_address_line_one,
|
|
||||||
billing_address_line_two,
|
|
||||||
billing_address_district_name,
|
|
||||||
billing_address_state_name,
|
|
||||||
billing_address_country_name,
|
|
||||||
billing_address_postcode,
|
|
||||||
billing_address_type,
|
|
||||||
is_default_billing_address,
|
|
||||||
container_reference,
|
|
||||||
container_number,
|
|
||||||
container_seal_reference,
|
|
||||||
container_type,
|
|
||||||
container_deliver_courier,
|
|
||||||
container_tracking_number,
|
|
||||||
destination_warehouse_transport_transport_mode,
|
|
||||||
destination_warehouse_transport_courier,
|
|
||||||
destination_warehouse_transport_tracking_number,
|
|
||||||
booking_status,
|
|
||||||
billing_address_status,
|
|
||||||
origin_warehouse_shipping_order_status,
|
|
||||||
container_status,
|
|
||||||
container_transport_arrangment_status,
|
|
||||||
destination_warehouse_transport_status,
|
|
||||||
|
|
||||||
-- measures
|
|
||||||
number_of_package_record,
|
|
||||||
total_package_width_cm,
|
|
||||||
total_package_height_cm,
|
|
||||||
total_package_length_cm,
|
|
||||||
total_package_weight_kg,
|
|
||||||
total_package_item,
|
|
||||||
total_package_cbm,
|
|
||||||
number_of_over_weight_charge_record,
|
|
||||||
over_weight_cbm,
|
|
||||||
over_weight_kg,
|
|
||||||
number_of_pallet_charge_record,
|
|
||||||
pallet_charge_cbm,
|
|
||||||
total_order_cbm,
|
|
||||||
number_of_invoice,
|
|
||||||
number_of_payment,
|
|
||||||
invoice_number_of_shipping_fee,
|
|
||||||
invoice_average_shipping_fee_price_per_quantity,
|
|
||||||
invoice_total_shipping_fee_quantity,
|
|
||||||
invoice_total_shipping_fee_value_rm,
|
|
||||||
invoice_number_of_min_cbm_charge,
|
|
||||||
invoice_average_min_cbm_charge_price_per_quantity,
|
|
||||||
invoice_total_min_cbm_charge_quantity,
|
|
||||||
invoice_total_min_cbm_charge_value_rm,
|
|
||||||
invoice_number_of_over_weight_charge,
|
|
||||||
invoice_average_over_weight_charge_price_per_quantity,
|
|
||||||
invoice_total_over_weight_charge_quantity,
|
|
||||||
invoice_total_over_weight_charge_value_rm,
|
|
||||||
invoice_number_of_custom_charge,
|
|
||||||
invoice_average_custom_charge_price_per_quantity,
|
|
||||||
invoice_total_custom_charge_quantity,
|
|
||||||
invoice_total_custom_charge_value_rm,
|
|
||||||
invoice_value_rm,
|
|
||||||
invoice_tax_rm,
|
|
||||||
invoice_service_charge,
|
|
||||||
payment_value_rm,
|
|
||||||
payment_tax_rm,
|
|
||||||
payment_service_charge_rm,
|
|
||||||
number_of_container_etd_datetime_postpone,
|
|
||||||
number_of_container_eta_datetime_postpone,
|
|
||||||
destination_warehouse_transport_number_of_etd_datetime_postpone,
|
|
||||||
destination_warehouse_transport_number_of_eta_datetime_postpone,
|
|
||||||
|
|
||||||
-- date/times
|
|
||||||
booking_created_datetime,
|
|
||||||
delivery_address_created_datetime,
|
|
||||||
billing_address_created_datetime,
|
|
||||||
origin_warehouse_shipping_order_created_datetime,
|
|
||||||
last_invoice_created_datetime,
|
|
||||||
last_payment_created_datetime,
|
|
||||||
container_loaded_datetime,
|
|
||||||
container_departed_datetime,
|
|
||||||
container_arrived_datetime,
|
|
||||||
container_etd_datetimes,
|
|
||||||
first_container_etd_datetimes,
|
|
||||||
last_container_etd_datetimes,
|
|
||||||
container_eta_datetimes,
|
|
||||||
first_container_eta_datetime,
|
|
||||||
last_container_eta_datetime,
|
|
||||||
first_container_estimate_schedule_created_datetime,
|
|
||||||
last_container_estimate_schedule_created_datetime,
|
|
||||||
container_deleted_datetime,
|
|
||||||
container_created_datetime,
|
|
||||||
container_updated_datetime,
|
|
||||||
destination_warehouse_transport_dispatched_datetime,
|
|
||||||
destination_warehouse_transport_droped_datetime,
|
|
||||||
destination_warehouse_transport_etd_datetimes,
|
|
||||||
destination_warehouse_transport_first_etd_datetime,
|
|
||||||
destination_warehouse_transport_last_etd_datetime,
|
|
||||||
destination_warehouse_transport_eta_datetimes,
|
|
||||||
destination_warehouse_transport_first_eta_datetime,
|
|
||||||
destination_warehouse_transport_last_eta_datetime,
|
|
||||||
destination_warehouse_transport_first_estimate_schedule_created_datetime,
|
|
||||||
destination_warehouse_transport_last_estimate_schedule_created_datetime,
|
|
||||||
destination_warehouse_transport_created_datetime,
|
|
||||||
next_origin_warehouse_shipping_order_created_datetime,
|
|
||||||
|
|
||||||
-- metadata
|
|
||||||
_dbt_ran_datetime
|
|
||||||
|
|
||||||
FROM create_new_column
|
|
||||||
)
|
|
||||||
|
|
||||||
SELECT * FROM final__fct_shipping__origin_warehouse_shipping_packing_lists
|
|
||||||
@@ -0,0 +1,276 @@
|
|||||||
|
-- IMPORT
|
||||||
|
WITH first_mile_transport_arrangements AS (
|
||||||
|
SELECT * FROM {{ ref('int_shipping__first_mile_transport_arrangements') }}
|
||||||
|
),
|
||||||
|
|
||||||
|
mid_mile_transport_arrangements AS (
|
||||||
|
SELECT * FROM {{ ref('int_shipping__mid_mile_transport_arrangements') }}
|
||||||
|
),
|
||||||
|
|
||||||
|
last_mile_transport_arrangements AS (
|
||||||
|
SELECT * FROM {{ ref('int_shipping__last_mile_transport_arrangements') }}
|
||||||
|
),
|
||||||
|
|
||||||
|
vt_packing_list_brg AS (
|
||||||
|
SELECT * FROM {{ ref('int_shipping__vt_origin_warehouse_receive_packing_list_brg_shipping_packing_lists') }}
|
||||||
|
),
|
||||||
|
|
||||||
|
|
||||||
|
-- LOGIC
|
||||||
|
vt_transport_arrangements AS (
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
first_mile_transport_arrangements.*,
|
||||||
|
mid_mile_transport_arrangements.*,
|
||||||
|
last_mile_transport_arrangements.*
|
||||||
|
|
||||||
|
FROM vt_packing_list_brg
|
||||||
|
|
||||||
|
LEFT JOIN (SELECT * EXCLUDE _dbt_ran_datetime FROM first_mile_transport_arrangements) first_mile_transport_arrangements
|
||||||
|
ON (vt_packing_list_brg.old_origin_warehouse_receive_packing_list_id = first_mile_transport_arrangements.old_first_mile_packing_list_id)
|
||||||
|
|
||||||
|
LEFT JOIN (SELECT * EXCLUDE _dbt_ran_datetime FROM mid_mile_transport_arrangements) mid_mile_transport_arrangements
|
||||||
|
ON (vt_packing_list_brg.old_warehouse_shipping_packing_list_id = mid_mile_transport_arrangements.old_mid_mile_packing_list_id)
|
||||||
|
|
||||||
|
LEFT JOIN (SELECT * EXCLUDE _dbt_ran_datetime FROM last_mile_transport_arrangements) last_mile_transport_arrangements
|
||||||
|
ON (vt_packing_list_brg.old_warehouse_shipping_packing_list_id = last_mile_transport_arrangements.old_last_mile_packing_list_id)
|
||||||
|
|
||||||
|
),
|
||||||
|
|
||||||
|
first_mid_last_mile_transport_arrangement_join AS (
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
first_mile_transport_arrangements.new_first_mile_packing_list_id,
|
||||||
|
first_mile_transport_arrangements.old_first_mile_packing_list_id,
|
||||||
|
first_mile_transport_arrangements.first_mile_transport_arrangement_id,
|
||||||
|
first_mile_transport_arrangements.first_mile_booking_id,
|
||||||
|
first_mile_transport_arrangements.first_mile_warehouse_order_number,
|
||||||
|
first_mile_transport_arrangements.first_mile_warehouse_sub_company_id,
|
||||||
|
first_mile_transport_arrangements.first_mile_has_replaced_by_new_id,
|
||||||
|
first_mile_transport_arrangements.first_mile_reference_contract,
|
||||||
|
first_mile_transport_arrangements.first_mile_transport_mode,
|
||||||
|
first_mile_transport_arrangements.first_mile_transport_courier,
|
||||||
|
first_mile_transport_arrangements.first_mile_transport_tracking_number,
|
||||||
|
first_mile_transport_arrangements.first_mile_transport_status,
|
||||||
|
first_mile_transport_arrangements.first_mile_receive_status,
|
||||||
|
first_mile_transport_arrangements.first_mile_transport_number_of_etd_datetime_postpone,
|
||||||
|
first_mile_transport_arrangements.first_mile_transport_number_of_eta_datetime_postpone,
|
||||||
|
first_mile_transport_arrangements.first_mile_dispatched_datetime,
|
||||||
|
first_mile_transport_arrangements.first_mile_received_datetime,
|
||||||
|
first_mile_transport_arrangements.first_mile_transport_etd_datetimes,
|
||||||
|
first_mile_transport_arrangements.first_mile_transport_first_etd_datetime,
|
||||||
|
first_mile_transport_arrangements.first_mile_transport_last_etd_datetime,
|
||||||
|
first_mile_transport_arrangements.first_mile_transport_eta_datetimes,
|
||||||
|
first_mile_transport_arrangements.first_mile_transport_first_eta_datetime,
|
||||||
|
first_mile_transport_arrangements.first_mile_transport_last_eta_datetime,
|
||||||
|
first_mile_transport_arrangements.first_mile_transport_first_estimate_schedule_created_datetime,
|
||||||
|
first_mile_transport_arrangements.first_mile_transport_last_estimate_schedule_created_datetime,
|
||||||
|
first_mile_transport_arrangements.first_mile_transport_created_datetime,
|
||||||
|
first_mile_transport_arrangements.first_mile_transport_updated_datetime,
|
||||||
|
|
||||||
|
mid_mile_transport_arrangements.new_mid_mile_packing_list_id,
|
||||||
|
mid_mile_transport_arrangements.old_mid_mile_packing_list_id,
|
||||||
|
mid_mile_transport_arrangements.mid_mile_transport_arrangement_id,
|
||||||
|
mid_mile_transport_arrangements.mid_mile_booking_id,
|
||||||
|
mid_mile_transport_arrangements.mid_mile_container_id,
|
||||||
|
mid_mile_transport_arrangements.mid_mile_container_warehouse_sub_company_id,
|
||||||
|
mid_mile_transport_arrangements.mid_mile_warehouse_sub_company_id,
|
||||||
|
mid_mile_transport_arrangements.mid_mile_warehouse_order_number,
|
||||||
|
mid_mile_transport_arrangements.mid_mile_has_replaced_by_new_id,
|
||||||
|
mid_mile_transport_arrangements.mid_mile_shipping_status,
|
||||||
|
mid_mile_transport_arrangements.mid_mile_reference_contract,
|
||||||
|
mid_mile_transport_arrangements.mid_mile_packing_list_type,
|
||||||
|
mid_mile_transport_arrangements.mid_mile_container_reference,
|
||||||
|
mid_mile_transport_arrangements.mid_mile_container_number,
|
||||||
|
mid_mile_transport_arrangements.mid_mile_container_seal_reference,
|
||||||
|
mid_mile_transport_arrangements.mid_mile_container_type,
|
||||||
|
mid_mile_transport_arrangements.mid_mile_container_status,
|
||||||
|
mid_mile_transport_arrangements.mid_mile_container_transport_arrangment_status,
|
||||||
|
mid_mile_transport_arrangements.mid_mile_container_delivery_courier,
|
||||||
|
mid_mile_transport_arrangements.mid_mile_container_tracking_number,
|
||||||
|
mid_mile_transport_arrangements.mid_mile_number_of_container_etd_datetime_postpone,
|
||||||
|
mid_mile_transport_arrangements.mid_mile_number_of_container_eta_datetime_postpone,
|
||||||
|
mid_mile_transport_arrangements.mid_mile_container_loaded_datetime,
|
||||||
|
mid_mile_transport_arrangements.mid_mile_container_departed_datetime,
|
||||||
|
mid_mile_transport_arrangements.mid_mile_container_arrived_datetime,
|
||||||
|
mid_mile_transport_arrangements.mid_mile_container_etd_datetimes,
|
||||||
|
mid_mile_transport_arrangements.mid_mile_first_container_etd_datetimes,
|
||||||
|
mid_mile_transport_arrangements.mid_mile_last_container_etd_datetimes,
|
||||||
|
mid_mile_transport_arrangements.mid_mile_container_eta_datetimes,
|
||||||
|
mid_mile_transport_arrangements.mid_mile_first_container_eta_datetime,
|
||||||
|
mid_mile_transport_arrangements.mid_mile_last_container_eta_datetime,
|
||||||
|
mid_mile_transport_arrangements.mid_mile_first_container_estimate_schedule_created_datetime,
|
||||||
|
mid_mile_transport_arrangements.mid_mile_last_container_estimate_schedule_created_datetime,
|
||||||
|
mid_mile_transport_arrangements.mid_mile_container_deleted_datetime,
|
||||||
|
mid_mile_transport_arrangements.mid_mile_container_created_datetime,
|
||||||
|
mid_mile_transport_arrangements.mid_mile_container_updated_datetime,
|
||||||
|
|
||||||
|
new_last_mile_packing_list_id,
|
||||||
|
old_last_mile_packing_list_id,
|
||||||
|
last_mile_transport_arrangement_id,
|
||||||
|
last_mile_booking_id,
|
||||||
|
last_mile_warehouse_sub_company_id,
|
||||||
|
last_mile_warehouse_order_number,
|
||||||
|
last_mile_has_replaced_by_new_id,
|
||||||
|
last_mile_reference_contract,
|
||||||
|
last_mile_packing_list_type,
|
||||||
|
last_mile_shipping_status,
|
||||||
|
last_mile_transport_mode,
|
||||||
|
last_mile_transport_courier,
|
||||||
|
last_mile_transport_tracking_number,
|
||||||
|
last_mile_transport_status,
|
||||||
|
last_mile_transport_number_of_etd_datetime_postpone,
|
||||||
|
last_mile_transport_number_of_eta_datetime_postpone,
|
||||||
|
last_mile_transport_dispatched_datetime,
|
||||||
|
last_mile_transport_droped_datetime,
|
||||||
|
last_mile_transport_etd_datetimes,
|
||||||
|
last_mile_transport_first_etd_datetime,
|
||||||
|
last_mile_transport_last_etd_datetime,
|
||||||
|
last_mile_transport_eta_datetimes,
|
||||||
|
last_mile_transport_first_eta_datetime,
|
||||||
|
last_mile_transport_last_eta_datetime,
|
||||||
|
last_mile_transport_first_estimate_schedule_created_datetime,
|
||||||
|
last_mile_transport_last_estimate_schedule_created_datetime,
|
||||||
|
last_mile_transport_created_datetime,
|
||||||
|
last_mile_transport_updated_datetime
|
||||||
|
|
||||||
|
FROM mid_mile_transport_arrangements
|
||||||
|
|
||||||
|
LEFT JOIN first_mile_transport_arrangements
|
||||||
|
ON (mid_mile_transport_arrangements.mid_mile_warehouse_order_number = first_mile_transport_arrangements.first_mile_warehouse_order_number)
|
||||||
|
|
||||||
|
LEFT JOIN last_mile_transport_arrangements
|
||||||
|
ON (mid_mile_transport_arrangements.mid_mile_warehouse_order_number = last_mile_transport_arrangements.last_mile_warehouse_order_number)
|
||||||
|
|
||||||
|
),
|
||||||
|
|
||||||
|
transport_arrangement_joins AS (
|
||||||
|
|
||||||
|
SELECT * FROM first_mid_last_mile_transport_arrangement_join
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
new_mid_mile_packing_list_id NOT IN (
|
||||||
|
SELECT new_mid_mile_packing_list_id FROM vt_transport_arrangements)
|
||||||
|
|
||||||
|
UNION
|
||||||
|
|
||||||
|
SELECT * FROM vt_transport_arrangements
|
||||||
|
|
||||||
|
),
|
||||||
|
|
||||||
|
|
||||||
|
-- FINAL
|
||||||
|
final__fct_shipping__supply_chain_transport_arrangements AS (
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
-- ids
|
||||||
|
new_first_mile_packing_list_id,
|
||||||
|
old_first_mile_packing_list_id,
|
||||||
|
new_mid_mile_packing_list_id,
|
||||||
|
old_mid_mile_packing_list_id,
|
||||||
|
new_last_mile_packing_list_id,
|
||||||
|
old_last_mile_packing_list_id,
|
||||||
|
first_mile_transport_arrangement_id,
|
||||||
|
mid_mile_transport_arrangement_id,
|
||||||
|
last_mile_transport_arrangement_id,
|
||||||
|
first_mile_booking_id,
|
||||||
|
mid_mile_booking_id,
|
||||||
|
last_mile_booking_id,
|
||||||
|
first_mile_warehouse_sub_company_id,
|
||||||
|
first_mile_warehouse_order_number,
|
||||||
|
mid_mile_container_warehouse_sub_company_id,
|
||||||
|
mid_mile_warehouse_sub_company_id,
|
||||||
|
mid_mile_warehouse_order_number,
|
||||||
|
last_mile_warehouse_sub_company_id,
|
||||||
|
last_mile_warehouse_order_number,
|
||||||
|
first_mile_reference_contract,
|
||||||
|
mid_mile_reference_contract,
|
||||||
|
last_mile_reference_contract,
|
||||||
|
mid_mile_container_id,
|
||||||
|
mid_mile_container_reference,
|
||||||
|
mid_mile_container_number,
|
||||||
|
mid_mile_container_seal_reference,
|
||||||
|
first_mile_transport_tracking_number,
|
||||||
|
mid_mile_container_tracking_number,
|
||||||
|
last_mile_transport_tracking_number,
|
||||||
|
|
||||||
|
-- dimensions
|
||||||
|
first_mile_has_replaced_by_new_id,
|
||||||
|
first_mile_transport_mode,
|
||||||
|
first_mile_transport_courier,
|
||||||
|
first_mile_transport_status,
|
||||||
|
first_mile_receive_status,
|
||||||
|
|
||||||
|
mid_mile_has_replaced_by_new_id,
|
||||||
|
mid_mile_shipping_status,
|
||||||
|
mid_mile_packing_list_type,
|
||||||
|
mid_mile_container_type,
|
||||||
|
mid_mile_container_status,
|
||||||
|
mid_mile_container_transport_arrangment_status,
|
||||||
|
mid_mile_container_delivery_courier,
|
||||||
|
|
||||||
|
last_mile_has_replaced_by_new_id,
|
||||||
|
last_mile_packing_list_type,
|
||||||
|
last_mile_shipping_status,
|
||||||
|
last_mile_transport_mode,
|
||||||
|
last_mile_transport_courier,
|
||||||
|
last_mile_transport_status,
|
||||||
|
|
||||||
|
-- measures
|
||||||
|
first_mile_transport_number_of_etd_datetime_postpone,
|
||||||
|
first_mile_transport_number_of_eta_datetime_postpone,
|
||||||
|
mid_mile_number_of_container_etd_datetime_postpone,
|
||||||
|
mid_mile_number_of_container_eta_datetime_postpone,
|
||||||
|
last_mile_transport_number_of_etd_datetime_postpone
|
||||||
|
last_mile_transport_number_of_eta_datetime_postpone,
|
||||||
|
|
||||||
|
-- date/times
|
||||||
|
first_mile_dispatched_datetime,
|
||||||
|
first_mile_received_datetime,
|
||||||
|
first_mile_transport_etd_datetimes,
|
||||||
|
first_mile_transport_first_etd_datetime,
|
||||||
|
first_mile_transport_last_etd_datetime,
|
||||||
|
first_mile_transport_eta_datetimes,
|
||||||
|
first_mile_transport_first_eta_datetime,
|
||||||
|
first_mile_transport_last_eta_datetime,
|
||||||
|
first_mile_transport_first_estimate_schedule_created_datetime,
|
||||||
|
first_mile_transport_last_estimate_schedule_created_datetime,
|
||||||
|
first_mile_transport_created_datetime,
|
||||||
|
first_mile_transport_updated_datetime,
|
||||||
|
|
||||||
|
mid_mile_container_loaded_datetime,
|
||||||
|
mid_mile_container_departed_datetime,
|
||||||
|
mid_mile_container_arrived_datetime,
|
||||||
|
mid_mile_container_etd_datetimes,
|
||||||
|
mid_mile_first_container_etd_datetimes,
|
||||||
|
mid_mile_last_container_etd_datetimes,
|
||||||
|
mid_mile_container_eta_datetimes,
|
||||||
|
mid_mile_first_container_eta_datetime,
|
||||||
|
mid_mile_last_container_eta_datetime,
|
||||||
|
mid_mile_first_container_estimate_schedule_created_datetime,
|
||||||
|
mid_mile_last_container_estimate_schedule_created_datetime,
|
||||||
|
mid_mile_container_deleted_datetime,
|
||||||
|
mid_mile_container_created_datetime,
|
||||||
|
mid_mile_container_updated_datetime,
|
||||||
|
|
||||||
|
last_mile_transport_dispatched_datetime,
|
||||||
|
last_mile_transport_droped_datetime,
|
||||||
|
last_mile_transport_etd_datetimes,
|
||||||
|
last_mile_transport_first_etd_datetime,
|
||||||
|
last_mile_transport_last_etd_datetime,
|
||||||
|
last_mile_transport_eta_datetimes,
|
||||||
|
last_mile_transport_first_eta_datetime,
|
||||||
|
last_mile_transport_last_eta_datetime,
|
||||||
|
last_mile_transport_first_estimate_schedule_created_datetime,
|
||||||
|
last_mile_transport_last_estimate_schedule_created_datetime,
|
||||||
|
last_mile_transport_created_datetime,
|
||||||
|
last_mile_transport_updated_datetime,
|
||||||
|
|
||||||
|
-- metadata
|
||||||
|
'{{ modules.datetime.datetime.now(modules.pytz.timezone("Asia/Kuala_Lumpur")) }}' AS _dbt_ran_datetime
|
||||||
|
|
||||||
|
FROM transport_arrangement_joins
|
||||||
|
|
||||||
|
)
|
||||||
|
|
||||||
|
SELECT * FROM final__fct_shipping__supply_chain_transport_arrangements
|
||||||
@@ -61,7 +61,7 @@ transactions_mapping AS (
|
|||||||
packing_list_invoices_rename AS (
|
packing_list_invoices_rename AS (
|
||||||
SELECT
|
SELECT
|
||||||
transaction_id AS packing_list_invoice_id,
|
transaction_id AS packing_list_invoice_id,
|
||||||
owner_id AS old_origin_warehouse_shipping_packing_list_id,
|
owner_id AS old_warehouse_shipping_packing_list_id,
|
||||||
receiver_sub_company_id AS invoice_sub_company_id,
|
receiver_sub_company_id AS invoice_sub_company_id,
|
||||||
status AS invoice_status,
|
status AS invoice_status,
|
||||||
bill_number AS invoice_number,
|
bill_number AS invoice_number,
|
||||||
@@ -144,7 +144,7 @@ payments_rename AS (
|
|||||||
transaction_packing_lists_enrich AS (
|
transaction_packing_lists_enrich AS (
|
||||||
SELECT
|
SELECT
|
||||||
packing_list_invoices_rename.packing_list_invoice_id,
|
packing_list_invoices_rename.packing_list_invoice_id,
|
||||||
packing_list_invoices_rename.old_origin_warehouse_shipping_packing_list_id,
|
packing_list_invoices_rename.old_warehouse_shipping_packing_list_id,
|
||||||
packing_list_invoices_rename.invoice_sub_company_id,
|
packing_list_invoices_rename.invoice_sub_company_id,
|
||||||
packing_list_invoices_rename.invoice_status,
|
packing_list_invoices_rename.invoice_status,
|
||||||
packing_list_invoices_rename.invoice_number,
|
packing_list_invoices_rename.invoice_number,
|
||||||
@@ -206,7 +206,7 @@ final__stg_shipping__packing_list_invoice_payments AS (
|
|||||||
-- ids
|
-- ids
|
||||||
packing_list_invoice_id,
|
packing_list_invoice_id,
|
||||||
packing_list_payment_id,
|
packing_list_payment_id,
|
||||||
old_origin_warehouse_shipping_packing_list_id,
|
old_warehouse_shipping_packing_list_id,
|
||||||
invoice_sub_company_id,
|
invoice_sub_company_id,
|
||||||
payment_sub_company_id,
|
payment_sub_company_id,
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user