91 lines
2.2 KiB
MySQL
91 lines
2.2 KiB
MySQL
|
DROP VIEW IF EXISTS rlarp.sales_walk;
|
||
|
DROP MATERIALIZED VIEW IF EXISTS rlarp.sales_walk_agg;
|
||
|
|
||
|
CREATE MATERIALIZED VIEW rlarp.sales_walk_agg AS
|
||
|
WITH
|
||
|
agg as (
|
||
|
SELECT
|
||
|
bill_dba
|
||
|
,ship_dba
|
||
|
,dsm
|
||
|
--,os.glec
|
||
|
--,m.biggroup
|
||
|
--,os.priceg
|
||
|
,COALESCE(sum(pounds) filter (WHERE sseas = 2023 AND version = 'Actual'),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%'),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 agg;
|
||
|
|
||
|
CREATE OR REPLACE VIEW rlarp.sales_walk AS
|
||
|
SELECT
|
||
|
bill_dba
|
||
|
,ship_dba
|
||
|
,dsm
|
||
|
--,glec
|
||
|
--,biggroup
|
||
|
--,priceg
|
||
|
,"Actual 2023" shipments_2023
|
||
|
,"Actual 2024" shipments_2024
|
||
|
,"Open Ord" open_orders
|
||
|
,"Quotes" quotes
|
||
|
,CASE WHEN "Actual 2023" > 0
|
||
|
THEN CASE
|
||
|
WHEN "Actual 2024" = 0 AND "Open Ord" = 0 AND "Quotes" = 0 THEN 'No Activity'
|
||
|
WHEN "Actual 2024" = 0 AND ("Open Ord" > 0 OR "Quotes" > 0) THEN 'Open Ord OR Quoted'
|
||
|
WHEN "Actual 2024" < "Actual 2023" THEN 'Reduced'
|
||
|
WHEN "Actual 2024" >= "Actual 2023" THEN 'Increased'
|
||
|
END
|
||
|
ELSE
|
||
|
CASE
|
||
|
WHEN "Actual 2024" = 0 AND "Open Ord" = 0 AND "Quotes" > 0 THEN 'Incremental Quoted'
|
||
|
WHEN "Actual 2024" > 0 OR "Open Ord" > 0 THEN 'Incremental Won'
|
||
|
END
|
||
|
END flag
|
||
|
,COALESCE(w.bucket,'None') bucket
|
||
|
,COALESCE(w.notes,'-') notes
|
||
|
FROM
|
||
|
rlarp.sales_walk_agg agg
|
||
|
LEFT OUTER JOIN rlarp.walk w ON
|
||
|
w.ship_cust = agg.ship_dba
|
||
|
WHERE
|
||
|
"Actual 2023" <> 0
|
||
|
OR ("Actual 2024") <> 0
|
||
|
OR ("Open Ord") <> 0
|
||
|
OR ("Quotes") <> 0
|
||
|
ORDER BY
|
||
|
dsm
|
||
|
,"Actual 2024" + "Actual 2023" + "Open Ord" + "Quotes" desc;
|
||
|
|
||
|
GRANT SELECT ON rlarp.sales_walk TO PUBLIC;
|
||
|
--,biggroup
|