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
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
o.account
,o.shipgrp
@ -28,18 +92,28 @@ grp AS (
-- ,o.calc_status
)
SELECT
account
,shipgrp
,part
,oseas
,odate
,sseas
,sdate
-- ,calc_status
,lbs
,qty
,sales_usd
,cost_curstd_usd
,sum(lbs) OVER (PARTITION BY shipgrp, oseas) shiplbs
grp.account
,grp.shipgrp
,grp.part
,grp.oseas
,grp.odate
,grp.sseas
,grp.sdate
,grp.lbs
,grp.qty
,grp.sales_usd
,grp.cost_curstd_usd
,sum(grp.lbs) OVER (PARTITION BY shipgrp, oseas) shiplbs
,seq.floor
,seq.ceiling
,seq.uselimits
,seq.price
,seq.avgprice
,seq.pltq
FROM
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