vault backup: 2023-10-17 16:06:42

This commit is contained in:
Paul Trowbridge 2023-10-17 16:06:42 -04:00
parent bb9b1a6d8a
commit eaf91fbacf
4 changed files with 390 additions and 21 deletions

View File

@ -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
View 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
,bill_cust
,NULL::text
,NULL::text
,ship_class
,ship_cust
,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
,colcd
,colgrp
,coltierd
,NULL::text
,sizc
,uomp
,suffixd
,accs_ps
,brnd
,majgd
,mingd
,majsd
,minsd
,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;

View File

@ -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
View 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;