commit: 2025-03-20 02:09:17

This commit is contained in:
Paul Trowbridge 2025-03-20 02:09:17 -04:00
parent 1434021bfe
commit 4edd2aee40

View File

@ -1,5 +1,69 @@
WITH WITH
grp AS ( ----grouped prices-------------
pgrp AS (
SELECT
o.bill_dba
,o.ship_dba
,o.part
,o.odate
,o.qtyord
,i.nwht * CASE WHEN i.nwun = 'KG' THEN 2.2 ELSE 1 END lbs
,i.mpck pltq
,ROUND(o.sales_usd / o.qty,5) price
,(o.pricing->>'guidance_price')::NUMERIC guidance
,(o.pricing->>'floor' )::numeric(15,5) floor
,(o.pricing->>'ceiling')::numeric(15,5) ceiling
,(o.pricing->>'uselimits')::boolean uselimits
FROM
rlarp.osm_stack o
LEFT OUTER JOIN "CMS.CUSLG".itemm i ON
i.item = o.part
WHERE
VERSION = 'Actual'
AND oseas >= 2024
AND calc_status <> 'CANCELED'
AND o.fs_line = '41010'
AND o.part <> ''
AND substring(o.glec,1,1) <= '2'
AND o.qty <> 0
GROUP BY
o.bill_dba
,o.ship_dba
,o.part
,o.odate
,o.qtyord
,o.pounds
,o.pallets
,ROUND(o.sales_usd / o.qty,5)
,i.nwht * CASE WHEN i.nwun = 'KG' THEN 2.2 ELSE 1 END
,i.mpck
,(o.pricing->>'guidance_price')::NUMERIC
,(o.pricing->>'floor' )::numeric(15,5)
,(o.pricing->>'ceiling')::numeric(15,5)
,(o.pricing->>'uselimits')::boolean
)
----sequenced for most recent price------------
,seq AS (
SELECT
bill_dba
,ship_dba
,part
,odate
,qtyord
,lbs
,pltq
,price
,guidance
,floor
,ceiling
,uselimits
,row_number() OVER (PARTITION BY bill_dba, ship_dba, part ORDER BY odate desc) rn
,round(avg(price) over (PARTITION BY bill_dba, ship_dba, part),5) avgprice
FROM
pgrp
)
-- SELECT * FROM seq WHERE rn = 1
,grp AS (
SELECT SELECT
o.account o.account
,o.shipgrp ,o.shipgrp
@ -28,18 +92,28 @@ grp AS (
-- ,o.calc_status -- ,o.calc_status
) )
SELECT SELECT
account grp.account
,shipgrp ,grp.shipgrp
,part ,grp.part
,oseas ,grp.oseas
,odate ,grp.odate
,sseas ,grp.sseas
,sdate ,grp.sdate
-- ,calc_status ,grp.lbs
,lbs ,grp.qty
,qty ,grp.sales_usd
,sales_usd ,grp.cost_curstd_usd
,cost_curstd_usd ,sum(grp.lbs) OVER (PARTITION BY shipgrp, oseas) shiplbs
,sum(lbs) OVER (PARTITION BY shipgrp, oseas) shiplbs ,seq.floor
,seq.ceiling
,seq.uselimits
,seq.price
,seq.avgprice
,seq.pltq
FROM FROM
grp grp
LEFT OUTER JOIN seq ON
seq.ship_dba = grp.shipgrp
AND seq.bill_dba = grp.account
AND seq.part = grp.part
AND seq.rn = 1