From 1a1a4424e54e6ed4afdbf3d8bdb8638dae0f74db Mon Sep 17 00:00:00 2001 From: Trowbridge Date: Mon, 4 Mar 2019 09:06:09 -0500 Subject: [PATCH] work on month replacement --- route_meta/scenario_replace_month.sql | 314 +++++++++++++++++++++++++- 1 file changed, 312 insertions(+), 2 deletions(-) diff --git a/route_meta/scenario_replace_month.sql b/route_meta/scenario_replace_month.sql index 5cba0fe..ff0cb09 100644 --- a/route_meta/scenario_replace_month.sql +++ b/route_meta/scenario_replace_month.sql @@ -1,4 +1,314 @@ +WITH +mseq AS ( + SELECT * FROM + ( + VALUES + ('Jun',1) + ,('Jul',2) + ,('Aug',3) + ,('Sep',4) + ,('Oct',5) + ,('Nov',6) + ,('Dec',7) + ,('Jan',8) + ,('Feb',9) + ,('Mar',10) + ,('Apr',11) + ,('May',12) + ) x(m,s) +) +,alldates AS ( + SELECT + promo + ,terms + ,order_month + ,mseq.s seq + ,orderdate + ,requestdate + ,shipdate + ,sum(value_usd) value_usd + FROM + rlarp.osm_fcpool + LEFT OUTER JOIN mseq ON + mseq.m = order_month + WHERE + -----------------scenario---------------------------- + quota_rep_descr = '10032 - BRYAN HILL' + AND segm = 'Greenhouse' + AND mod_chan = 'DISTRIB DROP SHIP' + AND billto_group = 'BWI' + --AND order_month = 'May' + -----------------additional params------------------- + AND version = 'b20' + AND iter = 'copy' + AND calc_status||flag <> 'CLOSEDREMAINDER' --exclude short ships when building order adjustments + GROUP BY + promo + ,terms + ,order_month + ,mseq.s + ,orderdate + ,requestdate + ,shipdate + HAVING + sum(value_usd) <> 0 +) +--select * from alldates +,dom AS ( + SELECT + extract(day FROM orderdate) DOM + ,sum(value_usd) value_usd + FROM + alldates + GROUP BY + extract(day FROM orderdate) +) +,mmix AS ( + SELECT + to_char(orderdate,'Mon') _month + ,seq + ,promo + ,extract(day from orderdate) odom + ,requestdate-orderdate rlag + ,shipdate - requestdate slag + ,sum(value_usd) value_usd + FROM + alldates + GROUP BY + to_char(orderdate,'Mon') + ,seq + ,promo + ,extract(day from orderdate) + ,requestdate-orderdate + ,shipdate - requestdate +) +,mmixp AS ( + SELECT + _month + ,seq + ,promo + ,odom + ,rlag + ,slag + ,value_usd + ,value_usd/SUM(value_usd) over (PARTITION BY _month) vperc + FROM + mmix +) +--SELECT * FROM mmixp ORDER BY seq ASC, vperc desc +,basemix AS ( SELECT - + plnt ---master data + ,null::numeric(11,0) "ddord#" --0 + ,null::numeric(11,0) "dditm#" --0 + ,null::numeric(11,0) "fgbol#" --0 + ,null::numeric(11,0) "fgent#" --0 + ,null::numeric(9,0) "diinv#" --0 + ,null::numeric(3,0) "dilin#" --0 + ,null::text promo --history date mix + ,null::text return_reas --0 + ,terms + ,null::text custpo --0 + ,'I' dhincr --0 + ,sum(diext) diext + ,sum(ditdis) ditdis + ,null::date dcodat --calculated date mix + ,null::date ddqdat --calculated date mix + ,null::date dcmdat --calculated date mix + ,null::date dhidat --calculated date mix + ,null::text fspr --calculated date mix + ,remit_to --master data + ,bill_class --master data + ,bill_cust --history cust mix + ,bill_rep --master data + ,bill_terr --master data + ,ship_class --master data + ,ship_cust --history cust mix + ,ship_rep --master data + ,ship_terr --master data + ,quota_rep --master data + ,account --master data + ,shipgrp --master data + ,geo --master data + ,chan --master data + ,orig_ctry --master data + ,orig_prov --master data + ,orig_post --master data + ,dest_ctry --master data + ,dest_prov --master data + ,dest_post --master data + ,part --history part mix + ,ord_gldc --master data + ,majg --master data + ,ming --master data + ,majs --master data + ,mins --master data + ,gldc --master data + ,glec --master data + ,harm --master data + ,clss --master data + ,brand --master data + ,assc --master data + ,fs_line --master data + ,r_currency --history cust mix + ,r_rate --master data + ,c_currency --master data + ,c_rate --master data + ,0::numeric(15,5) ddqtoi --0 + ,0::numeric(15,5) ddqtsi --0 + ,0::numeric(15,5) fgqshp --0 + ,0::numeric(15,5) diqtsh --0 + ,sum(coalesce(fb_qty,0)) fb_qty --history value + ,sum(coalesce(fb_cst_loc,0)) fb_cst_loc --history part mix + ,sum(coalesce(fb_cst_loc_cur,0)) fb_cst_loc_cur --master data + ,sum(coalesce(fb_cst_loc_fut,0)) fb_cst_loc_fut --master data + ,sum(coalesce(fb_val_loc,0)) fb_val_loc --history value + ,sum(coalesce(fb_val_loc_pl,0)) fb_val_loc_pl --0 + ,calc_status --0 + ,flag --0 + ,null::date orderdate --history date mix + ,null::date requestdate --history date mix + ,null::date shipdate --history date mix + ,null::date adj_orderdate --history + ,null::date adj_requestdate --history + ,null::date adj_shipdate --history + ,'b20' "version" --calculated + ,'adjustment' iter --calculated + FROM + rlarp.osm_fcpool + WHERE + -----------------scenario---------------------------- + quota_rep_descr = '10032 - BRYAN HILL' + AND segm = 'Greenhouse' + AND mod_chan = 'DISTRIB DROP SHIP' + AND billto_group = 'BWI' + --AND order_month = 'May' + -----------------additional params------------------- + AND version = 'b20' + AND iter = 'copy' + AND calc_status||flag <> 'CLOSEDREMAINDER' --exclude short ships when building order adjustments + GROUP BY + plnt ---master data + ,terms + ,remit_to --master data + ,bill_class --master data + ,bill_cust --history cust mix + ,bill_rep --master data + ,bill_terr --master data + ,ship_class --master data + ,ship_cust --history cust mix + ,ship_rep --master data + ,ship_terr --master data + ,quota_rep --master data + ,account --master data + ,shipgrp --master data + ,geo --master data + ,chan --master data + ,orig_ctry --master data + ,orig_prov --master data + ,orig_post --master data + ,dest_ctry --master data + ,dest_prov --master data + ,dest_post --master data + ,part --history part mix + ,ord_gldc --master data + ,majg --master data + ,ming --master data + ,majs --master data + ,mins --master data + ,gldc --master data + ,glec --master data + ,harm --master data + ,clss --master data + ,brand --master data + ,assc --master data + ,fs_line --master data + ,r_currency --history cust mix + ,r_rate --master data + ,c_currency --master data + ,c_rate --master data + ,calc_status + ,flag +) +SELECT + b.plnt --master data + ,b."ddord#" --0 + ,b."dditm#" --0 + ,b."fgbol#" --0 + ,b."fgent#" --0 + ,b."diinv#" --0 + ,b."dilin#" --0 + ,b.promo --history date mix + ,b.return_reas --0 + ,b.terms --history cust mix + ,b.custpo --0 + ,b.dhincr --0 + ,b.diext --0 + ,b.ditdis --0 + ,b.dcodat --calculated date mix + ,b.ddqdat --calculated date mix + ,b.dcmdat --calculated date mix + ,b.dhidat --calculated date mix + ,b.fspr --calculated date mix + ,b.remit_to --master data + ,b.bill_class --master data + ,b.bill_cust --history cust mix + ,b.bill_rep --master data + ,b.bill_terr --master data + ,b.ship_class --master data + ,b.ship_cust --history cust mix + ,b.ship_rep --master data + ,b.ship_terr --master data + ,b.quota_rep --master data + ,b.account --master data + ,b.shipgrp --master data + ,b.geo --master data + ,b.chan --master data + ,b.orig_ctry --master data + ,b.orig_prov --master data + ,b.orig_post --master data + ,b.dest_ctry --master data + ,b.dest_prov --master data + ,b.dest_post --master data + ,b.part --history part mix + ,b.ord_gldc --master data + ,b.majg --master data + ,b.ming --master data + ,b.majs --master data + ,b.mins --master data + ,b.gldc --master data + ,b.glec --master data + ,b.harm --master data + ,b.clss --master data + ,b.brand --master data + ,b.assc --master data + ,b.fs_line --master data + ,b.r_currency --history cust mix + ,b.r_rate --master data + ,b.c_currency --master data + ,b.c_rate --master data + ,b.ddqtoi --0 + ,b.ddqtsi --0 + ,b.fgqshp --0 + ,b.diqtsh --0 + ,b.fb_qty --history value + ,b.fb_cst_loc --history part mix + ,b.fb_cst_loc_cur --master data + ,b.fb_cst_loc_fut --master data + ,b.fb_val_loc --history value + ,b.fb_val_loc_pl --0 + ,b.calc_status --0 + ,b.flag --0 + ,b.orderdate --history date mix + ,b.requestdate --history date mix + ,b.shipdate --history date mix + ,b.adj_orderdate --history + ,b.adj_requestdate --history + ,b.adj_shipdate --history + ,b.version --calculated + ,b.iter --calculated + ,(b.fb_val_loc * r_rate)/sum(b.fb_val_loc * r_rate) over () valperc FROM - rlarp.osm_fcpool + basemix b +ORDER BY + valperc desc \ No newline at end of file