--BEGIN; WITH ----------------create a log entry-------------------- log AS ( INSERT INTO rlarp.osm_log(doc) SELECT $${ "message":"application of last price and target increases to all forecast orders", "tag":"last price r1", "type":"build" }$$::jsonb doc RETURNING * ) ---------collapse iterations----------------------- ,collapse AS ( SELECT o.fspr ,o.plnt ---master data ,o.promo --history date mix ,o.terms ,o.bill_cust_descr --history cust mix ,o.ship_cust_descr --history cust mix ,o.dsm ,o.quota_rep_descr --master data ,o.director ,o.billto_group --master data ,o.shipto_group ,o.chan --master data ,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 ,SUM(o.units) units ,SUM(o.value_loc) value_loc ,SUM(o.value_usd) value_usd -----exclude any prior pricing adjustments from the "current" price in the forecast------ ,SUM(o.value_loc) FILTER (WHERE iter <> 'upload price')/SUM(o.units) FILTER (WHERE iter <> 'upload price') price_loc ,SUM(o.cost_loc) cost_loc ,SUM(o.cost_usd) cost_usd ,o.calc_status --0 ,o.flag --0 ,o.order_date --history date mix ,o.order_month ,o.order_season ,o.request_date --history date mix ,o.request_month ,o.request_season ,o.ship_date --history date mix ,o.ship_month ,o.ship_season FROM rlarp.osm_pool o --need to join to itemm to get the product from osm_pool GROUP BY o.fspr ,o.plnt ---master data ,o.promo --history date mix ,o.terms ,o.bill_cust_descr --history cust mix ,o.ship_cust_descr --history cust mix ,o.dsm ,o.quota_rep_descr --master data ,o.director ,o.billto_group --master data ,o.shipto_group ,o.chan --master data ,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 ,o.calc_status --0 ,o.flag --0 ,o.order_date --history date mix ,o.order_month ,o.order_season ,o.request_date --history date mix ,o.request_month ,o.request_season ,o.ship_date --history date mix ,o.ship_month ,o.ship_season HAVING sum(o.units) <> 0 ) -------------build the iteration rows---------------- ,ins AS ( SELECT o.fspr ,o.plnt ---master data ,o.promo --history date mix ,o.terms ,o.bill_cust_descr --history cust mix ,o.ship_cust_descr --history cust mix ,o.dsm ,o.quota_rep_descr --master data ,o.director ,o.billto_group --master data ,o.shipto_group ,o.chan --master data ,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 --master data ,o.r_currency --history cust mix ,o.r_rate --master data ,o.c_currency --master data ,o.c_rate --master data --,o.units ,0::numeric units ,value_loc*.45 value_loc ,value_usd*.45 value_usd ,0::numeric cost_loc ,0::numeric cost_usd ,o.calc_status --0 ,o.flag --0 ,o.order_date --history date mix ,o.order_month ,o.order_season ,o.request_date --history date mix ,o.request_month ,o.request_season ,o.ship_date --history date mix ,o.ship_month ,o.ship_season ---this iteration has to be listed in the master template file in order to be effectively included--- ,'b22' AS version ,'upload price' iter ,log.id ,COALESCE(log.doc->>'tag','') "tag" ,log.doc->>'message' "comment" ,log.doc->>'type' module FROM collapse o --need to join to itemm to get the product from osm_pool ,log WHERE -- a.productt = o.productt --AND a.quota_rep_descr = o.quota_rep_descr --AND a.majg = SUBSTRING(o.majg_descr,1,3) --AND a.billto_group = o.billto_group --AND a.shipto_group = o.shipto_group --AND a.chgrp = substring(o.chan,1,1) ---only apply to 2022 orders---- ---join p o.order_date >= '2021-06-01' AND o.segm <> 'Retail' AND o.dsm = 'PW' ) --SELECT *, SUM(VALUE_USD) OVER() FROM (SELECT order_season, order_month, sum(value_usd) value_usd from ins group by order_season, order_month) as x; INSERT INTO rlarp.osm_pool SELECT * FROM ins; --SELECT * FROM ins WHERE shipto_group = 'BATTLEFIELD FARMS' and part = 'XNT0TQT3X56B220PYDKP'; -----------aggregate the impact------------ --COMMIT;