Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
19592685d3 | |||
eaf91fbacf |
100
sql/budgetc.sql
100
sql/budgetc.sql
@ -1,20 +1,82 @@
|
||||
WITH x AS (
|
||||
SELECT
|
||||
version,
|
||||
oseas,
|
||||
customer,
|
||||
sum(sales_usd),
|
||||
sum(pounds)
|
||||
--string_agg(distinct mold,', ')
|
||||
FROM b
|
||||
left outer join rlarp.molds m ON
|
||||
m.stlc = b.mold
|
||||
WHERE
|
||||
oseas = 2024
|
||||
AND version = 'Forecats'
|
||||
GROUP BY
|
||||
version,
|
||||
oseas,
|
||||
customer
|
||||
WITH
|
||||
act as (
|
||||
SELECT
|
||||
bill_dba
|
||||
,ship_dba
|
||||
,dsm
|
||||
--,os.glec
|
||||
--,m.biggroup
|
||||
--,os.priceg
|
||||
,COALESCE(sum(pounds) filter (WHERE sseas = 2023 AND version = 'Actual' AND SUBSTRING(smon,1,2) <= '08'),0) "Actual 2023"
|
||||
,COALESCE(sum(pounds) filter (WHERE sseas = 2024 AND version = 'Actual'),0) "Actual 2024"
|
||||
,COALESCE(sum(pounds) filter (WHERE version = 'Actual' AND ostatus LIKE 'Open%' AND rseas <= 2024),0) "Open Ord"
|
||||
,COALESCE(sum(pounds) filter (WHERE version = 'Quotes'),0) "Quotes"
|
||||
FROM
|
||||
rlarp.osm_stack os
|
||||
LEFT OUTER JOIN rlarp.molds m ON
|
||||
m.stlc = substring(os.product ,1,8)
|
||||
WHERE
|
||||
(
|
||||
(
|
||||
sseas IN (2023,2024)
|
||||
AND version = 'Actual'
|
||||
AND ostatus = 'Shipped'
|
||||
)
|
||||
OR (
|
||||
version = 'Quotes'
|
||||
AND odate >= '2023-05-01'::date
|
||||
)
|
||||
OR (ostatus LIKE 'Open%')
|
||||
)
|
||||
AND calc_status <> 'CANCELED'
|
||||
AND substring(os.glec,1,1) <= '2'
|
||||
AND os.fs_line = '41010'
|
||||
AND COALESCE(ship_dba,'') <> ''
|
||||
GROUP BY
|
||||
bill_dba
|
||||
,ship_dba
|
||||
,dsm
|
||||
--,os.glec
|
||||
--,m.biggroup
|
||||
--,os.priceg
|
||||
)
|
||||
SELECT * FROM X
|
||||
,bgt AS (
|
||||
SELECT
|
||||
bill_dba
|
||||
,ship_dba
|
||||
,dsm
|
||||
,sum(sales_usd) sales
|
||||
,sum(pounds) pounds
|
||||
--string_agg(distinct mold,', ')
|
||||
FROM
|
||||
rlarp.osm_stack
|
||||
WHERE
|
||||
version = 'Budget'
|
||||
AND oseas = '2024'
|
||||
GROUP BY
|
||||
bill_dba
|
||||
,ship_dba
|
||||
,dsm
|
||||
)
|
||||
,agg AS (
|
||||
SELECT
|
||||
COALESCE(act.bill_dba,TRIM(bgt.bill_dba)) bill_dba
|
||||
,COALESCE(act.ship_dba,TRIM(bgt.ship_dba)) ship_dba
|
||||
,COALESCE(act.dsm ,TRIM(bgt.dsm )) dsm
|
||||
,SUM(bgt.pounds ) "Budget 2024"
|
||||
,SUM(act."Actual 2023") "Actual 2023"
|
||||
,SUM(act."Actual 2024") "Actual 2024"
|
||||
,SUM(act."Open Ord" ) "Open Ord"
|
||||
,SUM(act."Quotes" ) "Quotes"
|
||||
FROM
|
||||
act
|
||||
FULL OUTER JOIN bgt ON
|
||||
TRIM(bgt.bill_dba) = act.bill_dba
|
||||
AND TRIM(bgt.ship_dba) = act.ship_dba
|
||||
AND TRIM(bgt.dsm ) = act.dsm
|
||||
GROUP BY
|
||||
COALESCE(act.bill_dba,TRIM(bgt.bill_dba))
|
||||
,COALESCE(act.ship_dba,TRIM(bgt.ship_dba))
|
||||
,COALESCE(act.dsm ,TRIM(bgt.dsm ))
|
||||
)
|
||||
SELECT * FROM agg
|
||||
|
113
sql/prep_budget.sql
Normal file
113
sql/prep_budget.sql
Normal file
@ -0,0 +1,113 @@
|
||||
DELETE FROM rlarp.osmp where version = 'b24r1';
|
||||
|
||||
INSERT INTO
|
||||
rlarp.osmp
|
||||
SELECT
|
||||
ordnum
|
||||
,NULL::integer
|
||||
,NULL::integer
|
||||
,NULL::integer
|
||||
,invnum
|
||||
,NULL::integer
|
||||
,quoten
|
||||
,NULL::integer
|
||||
,NULL::date
|
||||
,NULL::date
|
||||
,NULL::date
|
||||
,NULL::date
|
||||
,NULL::date
|
||||
,NULL::text
|
||||
,NULL::text
|
||||
,NULL::text
|
||||
,NULL::text
|
||||
,NULL::text
|
||||
,NULL::text
|
||||
,NULL::text
|
||||
,NULL::text
|
||||
,NULL::text
|
||||
,NULL::jsonb
|
||||
,NULL::text
|
||||
,plnt
|
||||
,promo
|
||||
,NULL::text
|
||||
,NULL::text
|
||||
,NULL::text
|
||||
,NULL::text
|
||||
,bill_class
|
||||
,substring(bill_cust,1,8)
|
||||
,NULL::text
|
||||
,NULL::text
|
||||
,ship_class
|
||||
,substring(ship_cust,1,8)
|
||||
,NULL::text
|
||||
,NULL::text
|
||||
,NULL::text
|
||||
,bill_dba
|
||||
,ship_dba
|
||||
,geo
|
||||
,chan
|
||||
,chansub
|
||||
,NULL::text
|
||||
,NULL::text
|
||||
,NULL::text
|
||||
,bill_ctry
|
||||
,bill_prov
|
||||
,bill_post
|
||||
,dest_ctry
|
||||
,dest_prov
|
||||
,dest_post
|
||||
,part
|
||||
,mold
|
||||
,substring(colcd,1,3)
|
||||
,colgrp
|
||||
,substring(coltierd,1,1)
|
||||
,NULL::text
|
||||
,sizc
|
||||
,uomp
|
||||
,substring(suffixd,1,position(' -' IN suffixd))
|
||||
,accs_ps
|
||||
,brnd
|
||||
,substring(majgd,1,3)
|
||||
,substring(mingd,1,3)
|
||||
,substring(majsd,1,3)
|
||||
,substring(minsd,1,3)
|
||||
,NULL::text
|
||||
,NULL::text
|
||||
,glec
|
||||
,NULL::text
|
||||
,clss
|
||||
,NULL::text
|
||||
,NULL::text
|
||||
,NULL::text
|
||||
,NULL::text
|
||||
,case when coalesce(qty,0) = 0 then 0 else pounds/qty end
|
||||
,pallets
|
||||
,plcd
|
||||
,fs_line
|
||||
,'US'
|
||||
,1
|
||||
,'US'
|
||||
,1
|
||||
,qty
|
||||
,sales_usd
|
||||
,NULL::numeric
|
||||
,NULL::numeric
|
||||
,NULL::numeric
|
||||
,NULL::numeric
|
||||
,stdcost_usd
|
||||
,stdcost_cur_usd
|
||||
,NULL::numeric
|
||||
,calc_status
|
||||
,flag
|
||||
,odate
|
||||
,oseas
|
||||
,sdate
|
||||
,sseas
|
||||
,rdate
|
||||
,rseas
|
||||
,pdate
|
||||
,pseas
|
||||
,'b24r1'
|
||||
,iter
|
||||
FROM
|
||||
public.b;
|
@ -23,7 +23,7 @@ DROP MATERIALIZED VIEW IF EXISTS rlarp.sales_walk_agg ;
|
||||
|
||||
CREATE MATERIALIZED VIEW rlarp.sales_walk_agg AS
|
||||
WITH
|
||||
agg as (
|
||||
act as (
|
||||
SELECT
|
||||
bill_dba
|
||||
,ship_dba
|
||||
@ -64,7 +64,29 @@ GROUP BY
|
||||
--,m.biggroup
|
||||
--,os.priceg
|
||||
)
|
||||
SELECT * FROM agg;
|
||||
,bgt AS (
|
||||
SELECT
|
||||
bill_dba
|
||||
,ship_dba
|
||||
,dsm
|
||||
,sum(sales_usd)
|
||||
,sum(pounds)
|
||||
--string_agg(distinct mold,', ')
|
||||
FROM b
|
||||
left outer join rlarp.molds m ON
|
||||
m.stlc = b.mold
|
||||
WHERE
|
||||
oseas = 2024
|
||||
AND version = 'Forecats'
|
||||
GROUP BY
|
||||
version,
|
||||
oseas,
|
||||
customer
|
||||
)
|
||||
,agg AS (
|
||||
SELECT
|
||||
)
|
||||
SELECT * FROM agg
|
||||
|
||||
------------------------------------------sales walk-------------------------------------------------------
|
||||
CREATE OR REPLACE VIEW rlarp.sales_walk AS
|
||||
|
172
sql/snap_rep.sql
Normal file
172
sql/snap_rep.sql
Normal file
@ -0,0 +1,172 @@
|
||||
----------------------------SET BILL-TO REP------------------------------------
|
||||
|
||||
UPDATE
|
||||
public.b S
|
||||
SET
|
||||
BILL_REP = C.BVSALM
|
||||
,BILL_CLASS = C.BVCLAS
|
||||
FROM
|
||||
LGDAT.CUST C
|
||||
WHERE
|
||||
C.BVCUST = S.BILL_CUST
|
||||
AND (
|
||||
COALESCE(S.BILL_REP,'') <> C.BVSALM
|
||||
OR COALESCE(S.BILL_CLASS,'') <> C.BVCLAS
|
||||
);
|
||||
|
||||
----------------------------SET SHIP-TO REP------------------------------------
|
||||
|
||||
UPDATE
|
||||
public.b S
|
||||
SET
|
||||
SHIP_REP = C.BVSALM
|
||||
,SHIP_CLASS = C.BVCLAS
|
||||
FROM
|
||||
LGDAT.CUST C
|
||||
WHERE
|
||||
C.BVCUST = S.SHIP_CUST
|
||||
AND (
|
||||
COALESCE(S.SHIP_REP,'') <> C.BVSALM
|
||||
OR COALESCE(S.SHIP_CLASS,'') <> C.BVCLAS
|
||||
);
|
||||
|
||||
----------------------------SET BILLTO GROUP------------------------------------
|
||||
|
||||
UPDATE
|
||||
public.b O
|
||||
SET
|
||||
BILL_DBA = CASE BVADR6 WHEN '' THEN BVNAME ELSE BVADR6 END
|
||||
FROM
|
||||
LGDAT.CUST C
|
||||
WHERE
|
||||
C.BVCUST = O.BILL_CUST
|
||||
AND CASE BVADR6 WHEN '' THEN BVNAME ELSE BVADR6 END <> O.ACCOUNT;
|
||||
|
||||
|
||||
----------------------------SET SHIPTO GROUP------------------------------------
|
||||
|
||||
UPDATE
|
||||
public.b O
|
||||
SET
|
||||
SHIP_DBA = CASE BVADR6 WHEN '' THEN BVNAME ELSE BVADR6 END
|
||||
FROM
|
||||
LGDAT.CUST C
|
||||
WHERE
|
||||
C.BVCUST = O.SHIP_CUST
|
||||
AND CASE BVADR6 WHEN '' THEN BVNAME ELSE BVADR6 END <> O.SHIPGRP;
|
||||
|
||||
|
||||
---------------------------SET GEOGRAPHY----------------------------------------
|
||||
|
||||
UPDATE
|
||||
public.b o
|
||||
SET
|
||||
geo = t.geo
|
||||
FROM
|
||||
rlarp.ffterr t
|
||||
WHERE
|
||||
t.CTRY = o.DEST_CTRY
|
||||
AND t.PROV = o.DEST_PROV
|
||||
AND o.GEO <> t.GEO;
|
||||
|
||||
|
||||
---------------------------SET CHANNEL-----------------------------------------
|
||||
|
||||
|
||||
UPDATE
|
||||
public.b
|
||||
SET
|
||||
CHAN = CASE SUBSTRING(BILL_CLASS,2,3)
|
||||
--if the bill to class is ditsributor, then it's either warehouse or drop
|
||||
WHEN 'DIS' THEN
|
||||
--if the ship-to is a different name than the bill-to then it's drop, otherwise it's warehouse
|
||||
CASE SUBSTRING(SHIP_CLASS,2,3)
|
||||
WHEN 'DIS' THEN 'WHS'
|
||||
ELSE 'DRP'
|
||||
END
|
||||
--CASE WHEN RTRIM(SUBSTRING(LTRIM(SC.BVADR7)||SC.BVNAME,1,30)) = RTRIM(SUBSTRING(LTRIM(BC.BVADR7)||BC.BVNAME,1,30)) THEN 'DIS' ELSE 'DRP' END
|
||||
--everything else does not involve a distributor and is considered direct
|
||||
ELSE 'DIR'
|
||||
END,
|
||||
CHANSUB = CASE SUBSTRING(BILL_CLASS,2,3)
|
||||
WHEN 'DIS' THEN
|
||||
--if the ship-to is a different name than the bill-to then it's drop, otherwise it's warehouse
|
||||
CASE SUBSTRING(SHIP_CLASS,2,3)
|
||||
WHEN 'DIS' THEN 'WHS'
|
||||
ELSE CASE SUBSTRING(SHIP_CLASS,1,1) WHEN 'R' THEN 'RDP' ELSE 'DRP' END
|
||||
END
|
||||
WHEN 'MAS' THEN 'RMN'
|
||||
WHEN 'NAT' THEN 'RMN'
|
||||
ELSE CASE SUBSTRING(SHIP_CLASS,1,1) WHEN 'R' THEN 'RDI' ELSE 'DIR' END
|
||||
END
|
||||
WHERE
|
||||
COALESCE(CHAN,'') <> CASE SUBSTRING(BILL_CLASS,2,3)
|
||||
--if the bill to class is ditsributor, then it's either warehouse or drop
|
||||
WHEN 'DIS' THEN
|
||||
--if the ship-to is a different name than the bill-to then it's drop, otherwise it's warehouse
|
||||
CASE SUBSTRING(SHIP_CLASS,2,3)
|
||||
WHEN 'DIS' THEN 'WHS'
|
||||
ELSE 'DRP'
|
||||
END
|
||||
--CASE WHEN RTRIM(SUBSTRING(LTRIM(SC.BVADR7)||SC.BVNAME,1,30)) = RTRIM(SUBSTRING(LTRIM(BC.BVADR7)||BC.BVNAME,1,30)) THEN 'DIS' ELSE 'DRP' END
|
||||
--everything else does not involve a distributor and is considered direct
|
||||
ELSE 'DIR'
|
||||
END
|
||||
OR
|
||||
COALESCE(CHANSUB,'') <> CASE SUBSTRING(BILL_CLASS,2,3)
|
||||
WHEN 'DIS' THEN
|
||||
--if the ship-to is a different name than the bill-to then it's drop, otherwise it's warehouse
|
||||
CASE SUBSTRING(SHIP_CLASS,2,3)
|
||||
WHEN 'DIS' THEN 'WHS'
|
||||
ELSE CASE SUBSTRING(SHIP_CLASS,1,1) WHEN 'R' THEN 'RDP' ELSE 'DRP' END
|
||||
END
|
||||
WHEN 'MAS' THEN 'RMN'
|
||||
WHEN 'NAT' THEN 'RMN'
|
||||
ELSE CASE SUBSTRING(SHIP_CLASS,1,1) WHEN 'R' THEN 'RDI' ELSE 'DIR' END
|
||||
END;
|
||||
|
||||
|
||||
---------------------------SET QUOTA REP---------------------------------------
|
||||
|
||||
|
||||
UPDATE
|
||||
public.b S
|
||||
SET
|
||||
DSM = CR.QUOTA_REP
|
||||
FROM
|
||||
(
|
||||
SELECT DISTINCT
|
||||
VERSION,
|
||||
COALESCE(GLEC,'') GLEC,
|
||||
SUBSTRING(mingd,1,3),
|
||||
BILL_CUST,
|
||||
SHIP_CUST,
|
||||
------------quota rep column--------------
|
||||
CASE WHEN COALESCE(SUBSTRING(mingd,1,3),'') = 'B52' THEN 'PW' ELSE
|
||||
--if the gl expense code is 1RE use the retail rep assigned to the bill-to customer if available
|
||||
CASE WHEN COALESCE(glec,'') = '1RE' AND COALESCE(cu.currep,'') <> '' THEN
|
||||
cu.currep
|
||||
--default logic
|
||||
ELSE
|
||||
CASE SUBSTR(bill_class,2,3)
|
||||
WHEN 'DIS' THEN
|
||||
ship_rep
|
||||
ELSE
|
||||
bill_rep
|
||||
END
|
||||
END
|
||||
END QUOTA_REP
|
||||
FROM
|
||||
public.b S
|
||||
LEFT OUTER JOIN LGDAT.CUST ON
|
||||
BVCUST = BILL_CUST
|
||||
LEFT OUTER JOIN lgpgm.usrcust cu ON
|
||||
cu.cucust = s.bill_cust
|
||||
) CR
|
||||
WHERE
|
||||
CR.VERSION = S.VERSION
|
||||
AND CR.GLEC = COALESCE(S.GLEC,'')
|
||||
AND CR.SUBSTRING(mingd,1,3) = S.SUBSTRING(mingd,1,3)
|
||||
AND CR.BILL_CUST = S.BILL_CUST
|
||||
AND CR.SHIP_CUST = S.SHIP_CUST
|
||||
AND COALESCE(S.DSM,'') <> CR.QUOTA_REP;
|
Loading…
Reference in New Issue
Block a user