Make SQL changes to advance to the next season.

This commit is contained in:
PhilRunninger 2024-03-13 09:03:16 -04:00
parent 337f5425e2
commit aabbf8210b
4 changed files with 39 additions and 35 deletions

View File

@ -356,14 +356,14 @@ SELECT
,round(b.cost_usd*s.factor*m.momix ,2) cost_usd ,round(b.cost_usd*s.factor*m.momix ,2) cost_usd
,b.calc_status ,b.calc_status
,b.flag ,b.flag
,make_date(mseq.yr + 2024,mseq.cal,m.odom) order_date ,make_date(mseq.yr + 2025,mseq.cal,m.odom) order_date
,od.sspr || ' - ' || to_char(make_date(mseq.yr + 2024,mseq.cal,m.odom),'Mon') order_month ,od.sspr || ' - ' || to_char(make_date(mseq.yr + 2025,mseq.cal,m.odom),'Mon') order_month
,od.ssyr order_season ,od.ssyr order_season
,make_date(mseq.yr + 2024,mseq.cal,m.odom) + rlag request_date ,make_date(mseq.yr + 2025,mseq.cal,m.odom) + rlag request_date
,rd.sspr || ' - ' ||to_char(make_date(mseq.yr + 2024,mseq.cal,m.odom) + rlag,'Mon') request_month ,rd.sspr || ' - ' ||to_char(make_date(mseq.yr + 2025,mseq.cal,m.odom) + rlag,'Mon') request_month
,rd.ssyr request_season ,rd.ssyr request_season
,make_date(mseq.yr + 2024,mseq.cal,m.odom) + rlag + slag ship_date ,make_date(mseq.yr + 2025,mseq.cal,m.odom) + rlag + slag ship_date
,sd.sspr || ' - ' || to_char(make_date(mseq.yr + 2024,mseq.cal,m.odom) + rlag + slag,'Mon') ship_month ,sd.sspr || ' - ' || to_char(make_date(mseq.yr + 2025,mseq.cal,m.odom) + rlag + slag,'Mon') ship_month
,sd.ssyr ship_season ,sd.ssyr ship_season
,'replace_version' "version" ,'replace_version' "version"
,'replace_source'||' volume' iter ,'replace_source'||' volume' iter
@ -385,11 +385,11 @@ FROM
LEFT OUTER JOIN mseq ON LEFT OUTER JOIN mseq ON
mseq.m = closest.m mseq.m = closest.m
LEFT OUTER JOIN gld od ON LEFT OUTER JOIN gld od ON
make_date(mseq.yr + 2024,mseq.cal,m.odom) BETWEEN od.sdat AND od.edat make_date(mseq.yr + 2025,mseq.cal,m.odom) BETWEEN od.sdat AND od.edat
LEFT OUTER JOIN gld rd ON LEFT OUTER JOIN gld rd ON
make_date(mseq.yr + 2024,mseq.cal,m.odom) + rlag BETWEEN rd.sdat AND rd.edat make_date(mseq.yr + 2025,mseq.cal,m.odom) + rlag BETWEEN rd.sdat AND rd.edat
LEFT OUTER JOIN gld sd ON LEFT OUTER JOIN gld sd ON
make_date(mseq.yr + 2024,mseq.cal,m.odom) + rlag + slag BETWEEN sd.sdat AND sd.edat make_date(mseq.yr + 2025,mseq.cal,m.odom) + rlag + slag BETWEEN sd.sdat AND sd.edat
LEFT OUTER JOIN "CMS.CUSLG".itemm i ON i.item = b.part LEFT OUTER JOIN "CMS.CUSLG".itemm i ON i.item = b.part
WHERE WHERE
m._month = (SELECT _month FROM closest) m._month = (SELECT _month FROM closest)

View File

@ -250,13 +250,13 @@ SELECT
,substring(jr.part_descr,1,8) part_group ,substring(jr.part_descr,1,8) part_group
,mxm.qty*mxm.momix*jr.mix units ,mxm.qty*mxm.momix*jr.mix units
,mxm.amount*mxm.momix*jr.mix value_usd --assume that target dollars are USD ,mxm.amount*mxm.momix*jr.mix value_usd --assume that target dollars are USD
,make_date(mxm.yr + 2024,mxm.cal,mxm.odom) order_date ,make_date(mxm.yr + 2025,mxm.cal,mxm.odom) order_date
,od.sortmo order_month ,od.sortmo order_month
,od.ssyr order_season ,od.ssyr order_season
,make_date(mxm.yr + 2024,mxm.cal,mxm.odom) + rlag request_date ,make_date(mxm.yr + 2025,mxm.cal,mxm.odom) + rlag request_date
,rd.sortmo request_month ,rd.sortmo request_month
,rd.ssyr request_season ,rd.ssyr request_season
,make_date(mxm.yr + 2024,mxm.cal,mxm.odom) + rlag + slag ship_date ,make_date(mxm.yr + 2025,mxm.cal,mxm.odom) + rlag + slag ship_date
,sd.sortmo ship_month ,sd.sortmo ship_month
,sd.ssyr ship_season ,sd.ssyr ship_season
,jr.mix ,jr.mix
@ -266,11 +266,11 @@ SELECT
JOIN LATERAL json_to_record(ae.e) as jr(part_descr text, bill_cust_descr text, ship_cust_descr text, mix numeric) ON true JOIN LATERAL json_to_record(ae.e) as jr(part_descr text, bill_cust_descr text, ship_cust_descr text, mix numeric) ON true
CROSS JOIN mxm CROSS JOIN mxm
LEFT OUTER JOIN gld od ON LEFT OUTER JOIN gld od ON
od.drange @> make_date(mxm.yr + 2024,mxm.cal,mxm.odom) od.drange @> make_date(mxm.yr + 2025,mxm.cal,mxm.odom)
LEFT OUTER JOIN gld rd ON LEFT OUTER JOIN gld rd ON
rd.drange @> (make_date(mxm.yr + 2024,mxm.cal,mxm.odom) + rlag) rd.drange @> (make_date(mxm.yr + 2025,mxm.cal,mxm.odom) + rlag)
LEFT OUTER JOIN gld sd ON LEFT OUTER JOIN gld sd ON
sd.drange @> (make_date(mxm.yr + 2024,mxm.cal,mxm.odom) + rlag + slag) sd.drange @> (make_date(mxm.yr + 2025,mxm.cal,mxm.odom) + rlag + slag)
) )
-- SELECT 'basemix', * FROM basemix -- SELECT 'basemix', * FROM basemix
-- --
@ -394,12 +394,12 @@ FROM
LEFT OUTER JOIN copr ON LEFT OUTER JOIN copr ON
copr.comp = yacomp::text copr.comp = yacomp::text
LEFT OUTER JOIN rlarp.ffcret cx ON LEFT OUTER JOIN rlarp.ffcret cx ON
cx.perd = '2310' cx.perd = '2412'
AND cx.rtyp = 'MA' AND cx.rtyp = 'MA'
AND cx.fcur = copr.curr AND cx.fcur = copr.curr
AND cx.tcur = 'US' AND cx.tcur = 'US'
LEFT OUTER JOIN rlarp.ffcret rx ON LEFT OUTER JOIN rlarp.ffcret rx ON
rx.perd = '2310' rx.perd = '2412'
AND rx.rtyp = 'MA' AND rx.rtyp = 'MA'
AND rx.fcur = COALESCE(bc.bvcurr,b.r_currency) AND rx.fcur = COALESCE(bc.bvcurr,b.r_currency)
AND rx.tcur = 'US' AND rx.tcur = 'US'

View File

@ -36,7 +36,7 @@ FROM
rlarp.osm_pool rlarp.osm_pool
WHERE WHERE
where_clause where_clause
AND order_season IN (2023,2024) AND order_season IN (2024,2025)
GROUP BY GROUP BY
order_season order_season
,order_month ,order_month
@ -96,18 +96,20 @@ GROUP BY
,order_month ,order_month
,s ,s
) )
-- select 'months', * from months
--
,mpvt AS ( ,mpvt AS (
SELECT SELECT
order_month order_month
,seq ,seq
,SUM(units) FILTER (WHERE order_season = 2023) "2023 qty" ,SUM(units) FILTER (WHERE order_season = 2024) "2024 qty"
,SUM(units) FILTER (WHERE order_season = 2024 AND iter IN ('copy','short ship','bad_ship','plan')) "2024 base qty" ,SUM(units) FILTER (WHERE order_season = 2025 AND iter IN ('copy','short ship','bad_ship','plan')) "2025 base qty"
,SUM(units) FILTER (WHERE order_season = 2024 AND iter NOT IN ('copy','short ship','bad_ship','plan')) "2024 adj qty" ,SUM(units) FILTER (WHERE order_season = 2025 AND iter NOT IN ('copy','short ship','bad_ship','plan')) "2025 adj qty"
,SUM(units) FILTER (WHERE order_season = 2024) "2024 tot qty" ,SUM(units) FILTER (WHERE order_season = 2025) "2025 tot qty"
,SUM(value_usd) FILTER (WHERE order_season = 2023) "2023 value_usd" ,SUM(value_usd) FILTER (WHERE order_season = 2024) "2024 value_usd"
,SUM(value_usd) FILTER (WHERE order_season = 2024 AND iter IN ('copy','short ship','bad_ship','plan')) "2024 base value_usd" ,SUM(value_usd) FILTER (WHERE order_season = 2025 AND iter IN ('copy','short ship','bad_ship','plan')) "2025 base value_usd"
,SUM(value_usd) FILTER (WHERE order_season = 2024 AND iter NOT IN ('copy','short ship','bad_ship','plan')) "2024 adj value_usd" ,SUM(value_usd) FILTER (WHERE order_season = 2025 AND iter NOT IN ('copy','short ship','bad_ship','plan')) "2025 adj value_usd"
,SUM(value_usd) FILTER (WHERE order_season = 2024) "2024 tot value_usd" ,SUM(value_usd) FILTER (WHERE order_season = 2025) "2025 tot value_usd"
FROM FROM
months months
GROUP BY GROUP BY
@ -116,17 +118,19 @@ GROUP BY
ORDER BY ORDER BY
seq ASC seq ASC
) )
-- select 'mpvt', * from mpvt
--
,mlist AS ( ,mlist AS (
SELECT SELECT
mseq.m order_month mseq.m order_month
,"2023 qty" ,"2024 qty"
,"2024 base qty" ,"2025 base qty"
,"2024 adj qty" ,"2025 adj qty"
,"2024 tot qty" ,"2025 tot qty"
,"2023 value_usd" ,"2024 value_usd"
,"2024 base value_usd" ,"2025 base value_usd"
,"2024 adj value_usd" ,"2025 adj value_usd"
,"2024 tot value_usd" ,"2025 tot value_usd"
FROM FROM
mseq mseq
LEFT OUTER JOIN mpvt ON LEFT OUTER JOIN mpvt ON