WITH ----grouped prices------------- pgrp AS ( SELECT o.bill_dba ,o.ship_dba ,c.dsm ,i.partgroup ,i.pricegroup ,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 INNER JOIN rlarp.cust_flag c ON c.shipgrp = o.customer AND c.dsm = o.default_rep WHERE VERSION = 'Actual' AND o.oseas >= 2025 AND calc_status <> 'CANCELED' AND o.fs_line = '41010' AND o.part <> '' AND substring(o.glec,1,1) <= '2' AND o.qty <> 0 AND o.sseas IS NOT NULL AND o.sales_usd <> 0 -- AND customer in (select distinct renamed FROM newc ) GROUP BY o.bill_dba ,o.ship_dba ,c.dsm ,i.partgroup ,i.pricegroup ,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 ) -- SELECT * FROM pgrp where ship_dba ~ 'MONROVIA' -- select * from npgrp limit 100 --sequenced for most recent price------------ ,seq AS ( SELECT bill_dba ,ship_dba ,part ,odate ,qtyord ,lbs ,pltq ,price last_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 ship_dba = 'MONROVIA' -- SELECT * FROM seq WHERE ship_dba like 'COSTA%' ,partlist AS ( SELECT billto_group ,shipto_group ,dsm ,part ,glec ,pricegroup ----order date as a proxy for order size ,order_date ,sum(units) qty ,round(sum(value_usd)/sum(units),5) hist_price FROM rlarp.osm_pool o INNER JOIN "CMS.CUSLG".itemm i ON i.item = o.part WHERE order_season = 2026 GROUP BY billto_group ,shipto_group ,dsm ,part ,glec ,pricegroup ,order_date HAVING abs(sum(units)) > 10 ) ,combine AS MATERIALIZED ( -- select * from partlist -- SELECT * FROM seq WHERE rn = 1 LIMIT 1000 -- ,guid AS ( SELECT p.billto_group ,p.shipto_group ,p.dsm ,p.part ,p.glec ,p.pricegroup ,p.order_date ,p.qty ,p.hist_price ,CASE WHEN seq.floor = 0 THEN null else seq.floor END floor ,CASE WHEN seq.ceiling = 0 THEN null else seq.ceiling END ceiling ,seq.uselimits ,seq.last_price ,seq.avgprice ,seq.pltq ,ROUND(CASE WHEN seq.uselimits THEN CASE WHEN glec = '1NU' THEN --if more than 8/24 pallets, use floor CASE WHEN p.qty >= 24*seq.pltq THEN seq.floor -- if more than a pallet use the target price ELSE CASE WHEN qtyord >= 8*seq.pltq THEN (seq.ceiling + seq.floor) / 2 -- if more than a pallet use the target price ELSE CASE WHEN qtyord >= 2*seq.pltq THEN seq.ceiling -- if more than a pallet use the target price ELSE seq.ceiling * 1.05 END END END ELSE CASE WHEN pricegroup ~ '(Hanger|Dish)' THEN --at least 1 pallets is lower limit CASE WHEN qtyord >= 01*seq.pltq THEN seq.floor --at least 2 pallets is mid range ELSE CASE WHEN qtyord >= 0.5*seq.pltq THEN (seq.ceiling + seq.floor) / 2 --less than a pallet is upper + 15% ELSE seq.ceiling END END ELSE --at least 8 pallets is lower limit CASE WHEN qtyord >= 08*seq.pltq THEN seq.floor --at least 2 pallets is mid range ELSE CASE WHEN qtyord >= 2*seq.pltq THEN (seq.ceiling + seq.floor) / 2 --at least 1 pallet is upper range ELSE CASE WHEN qtyord >= 1*seq.pltq THEN seq.ceiling --less than a pallet is upper + 15% ELSE seq.ceiling * 1.15 END END END END END ELSE null END,5) guid ,least(hist_price, last_price, avgprice) lowest_last ,least(hist_price, last_price, avgprice, CASE WHEN uselimits THEN ROUND(CASE WHEN seq.uselimits THEN CASE WHEN glec = '1NU' THEN --if more than 8/24 pallets, use floor CASE WHEN p.qty >= 24*seq.pltq THEN seq.floor -- if more than a pallet use the target price ELSE CASE WHEN qtyord >= 8*seq.pltq THEN (seq.ceiling + seq.floor) / 2 -- if more than a pallet use the target price ELSE CASE WHEN qtyord >= 2*seq.pltq THEN seq.ceiling -- if more than a pallet use the target price ELSE seq.ceiling * 1.05 END END END ELSE CASE WHEN pricegroup ~ '(Hanger|Dish)' THEN --at least 1 pallets is lower limit CASE WHEN qtyord >= 01*seq.pltq THEN seq.floor --at least 2 pallets is mid range ELSE CASE WHEN qtyord >= 0.5*seq.pltq THEN (seq.ceiling + seq.floor) / 2 --less than a pallet is upper + 15% ELSE seq.ceiling END END ELSE --at least 8 pallets is lower limit CASE WHEN qtyord >= 08*seq.pltq THEN seq.floor --at least 2 pallets is mid range ELSE CASE WHEN qtyord >= 2*seq.pltq THEN (seq.ceiling + seq.floor) / 2 --at least 1 pallet is upper range ELSE CASE WHEN qtyord >= 1*seq.pltq THEN seq.ceiling --less than a pallet is upper + 15% ELSE seq.ceiling * 1.15 END END END END END ELSE null END,5) ELSE hist_price END) lowest_guid ,c.flag FROM partlist p INNER JOIN rlarp.cust_flag c ON c.shipgrp = p.shipto_group AND substring(c.dsm,1,5) = substring(p.dsm,1,5) LEFT OUTER JOIN seq seq ON seq.ship_dba = p.shipto_group AND seq.bill_dba = p.billto_group AND seq.part = p.part AND seq.rn = 1 LEFT OUTER JOIN rlarp.repc r ON r.rcode = p.dsm ) -- SELECT * FROM combine where shipto_group = 'MONROVIA' ,choose AS MATERIALIZED ( SELECT billto_group ,shipto_group ,dsm ,part ,glec ,pricegroup ,order_date ,qty ,hist_price ,floor ,ceiling ,uselimits ,last_price ,avgprice ,pltq ,guid ,lowest_last ,lowest_guid ,flag ,CASE flag WHEN 'YoY' THEN lowest_last WHEN 'Floor' THEN lowest_guid WHEN 'Retail' THEN hist_price WHEN 'Warehouse' THEN hist_price WHEN 'Orphan' THEN lowest_guid ELSE lowest_last END price_choice FROM combine ) -- SELECT * FROM choose where shipto_group = 'MONROVIA' and part = 'NBB005G1BE2B014PYIQX' ,logload AS ( INSERT INTO rlarp.osm_log (doc) SELECT jsonb_build_object('user',current_user,'tag','Pricing 2','type','Pricing 2','stamp',current_timestamp,'source','top level','message','Pricing 2') RETURNING * ) ,delta_row AS ( SELECT o.fspr ,o.plnt ,o.promo ,o.terms ,o.bill_cust_descr ,o.ship_cust_descr ,o.dsm ,o.quota_rep_descr ,o.director ,o.billto_group ,o.shipto_group ,o.chan ,o.chansub ,o.chan_retail ,o.part ,o.part_descr ,o.part_group ,o.branding ,o.majg_descr ,o.ming_descr ,o.majs_descr ,o.mins_descr ,o.segm ,o.substance ,o.fs_line ,o.r_currency ,o.r_rate ,o.c_currency ,o.c_rate ,0::numeric units ,(c.price_choice * sum(o.units) - sum(value_usd))/o.r_rate value_loc ,c.price_choice * sum(o.units) - sum(value_usd) value_usd ,0::numeric cost_loc ,0::numeric cost_usd ,o.calc_status ,o.flag ,o.order_date ,o.order_month ,o.order_season ,o.request_date ,o.request_month ,o.request_season ,o.ship_date ,o.ship_month ,o.ship_season ,o.version ,'Pricing 2' iter ,logload.id logid ,logload.doc->>'tag' tag ,logload.doc->>'message' "comment" ,logload.doc->>'type' module ,0::NUMERIC pounds FROM rlarp.osm_pool o CROSS JOIN logload INNER JOIN choose c ON c.billto_group = o.billto_group AND c.shipto_group = o.shipto_group AND substring(c.dsm,1,5) = substring(o.dsm,1,5) AND c.part = o.part AND c.order_date = o.order_date WHERE o.order_season = 2026 GROUP BY o.fspr ,o.plnt ,o.promo ,o.terms ,o.bill_cust_descr ,o.ship_cust_descr ,o.dsm ,o.quota_rep_descr ,o.director ,o.billto_group ,o.shipto_group ,o.chan ,o.chansub ,o.chan_retail ,o.part ,o.part_descr ,o.part_group ,o.branding ,o.majg_descr ,o.ming_descr ,o.majs_descr ,o.mins_descr ,o.segm ,o.substance ,o.fs_line ,o.r_currency ,o.r_rate ,o.c_currency ,o.c_rate ,c.price_choice ,o.calc_status ,o.flag ,o.order_date ,o.order_month ,o.order_season ,o.request_date ,o.request_month ,o.request_season ,o.ship_date ,o.ship_month ,o.ship_season ,o.version ,logload.id ,logload.doc->>'tag' ,logload.doc->>'message' ,logload.doc->>'type' ) -- SELECT SUM(value_usd) from delta_row -- SELECT * FROM delta_row WHERE shipto_group = 'MONROVIA' INSERT INTO rlarp.osm_pool SELECT * FROM delta_row -- SELECT billto_group, shipto_group, substring(dsm,1,5), part, order_date, count(*) over (PARTITION BY billto_group, shipto_group, substring(dsm,1,5), part, order_date) cnt -- FROM -- choose -- GROUP BY -- billto_group, shipto_group, substring(dsm,1,5), part, order_date -- select shipto_group, sum(value_usd) from delta_row group by shipto_group