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
    basemix b
ORDER BY
    valperc desc