mirror of
https://gitlab.com/cief-data/dbt_cloud.git
synced 2026-08-23 06:14:08 +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 (
|
||||
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.booking_id,
|
||||
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 (
|
||||
SELECT
|
||||
vt_shipping_packing_lists.origin_warehouse_shipping_packing_list_id,
|
||||
vt_shipping_packing_lists.old_origin_warehouse_shipping_packing_list_id,
|
||||
vt_shipping_packing_lists.new_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.warehouse_order_number,
|
||||
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
|
||||
receive_and_shipping_packing_list_mapping AS (
|
||||
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.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.origin_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.new_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
|
||||
|
||||
@@ -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 (
|
||||
SELECT
|
||||
-- ids
|
||||
origin_warehouse_receive_packing_list_id,
|
||||
new_origin_warehouse_receive_packing_list_id,
|
||||
old_origin_warehouse_receive_packing_list_id,
|
||||
booking_id,
|
||||
origin_warehouse_shipping_packing_list_id,
|
||||
old_origin_warehouse_shipping_packing_list_id,
|
||||
new_warehouse_shipping_packing_list_id,
|
||||
old_warehouse_shipping_packing_list_id,
|
||||
|
||||
-- dimensions
|
||||
warehouse_order_number,
|
||||
|
||||
Reference in New Issue
Block a user