Compare commits
No commits in common. "master" and "backup" have entirely different histories.
70
live_quote_mv.pg.sql
Normal file
70
live_quote_mv.pg.sql
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
|
||||||
|
set work_mem TO '4GB';
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS rlarp.live_quotes_review_mv;
|
||||||
|
CREATE TABLE rlarp.live_quotes_review_mv AS
|
||||||
|
WITH
|
||||||
|
lq AS MATERIALIZED (
|
||||||
|
SELECT
|
||||||
|
lq.*
|
||||||
|
,substring(lq.part,1,8) mold
|
||||||
|
FROM
|
||||||
|
pricequote.live_quotes lq
|
||||||
|
)
|
||||||
|
,lqg AS (
|
||||||
|
SELECT
|
||||||
|
lq.*
|
||||||
|
,pricing->'product'->>'mold' part_group
|
||||||
|
,substring(pricing->'customer'->>'chan',1,1) qchan
|
||||||
|
,pricing->'customer'->>'cust' qcust
|
||||||
|
,pricing->'product'->>'itemrel' item_fit
|
||||||
|
,(pricing->'product'->>'pltq')::numeric pltq
|
||||||
|
,(pricing->'guidance'->'finalPrice'->>'Price')::numeric guidance
|
||||||
|
,pricing->'guidance'->'finalPrice'->>'Reason' reason
|
||||||
|
,(pricing->'product'->>'cstd_usd_ina')::numeric fstd_usd
|
||||||
|
,(pricing->'guidance'->>'ltp')::numeric ltp
|
||||||
|
,(pricing->'guidance'->>'optimization')::numeric optimization
|
||||||
|
,(pricing->'guidance'->>'inflationFactor')::numeric inflation
|
||||||
|
,jsonb_pretty(pricing) pricing
|
||||||
|
FROM
|
||||||
|
lq
|
||||||
|
LEFT JOIN LATERAL rlarp.guidance_r1(
|
||||||
|
rlarp.get_guidance_dseg(lq.billto,lq.shipto,substring(lq.part,1,8),lq.v1ds,lq.units_each,2024)
|
||||||
|
) pricing ON TRUE
|
||||||
|
WHERE
|
||||||
|
lq.qstat ~ 'Submitted'
|
||||||
|
)
|
||||||
|
,hist AS (
|
||||||
|
SELECT
|
||||||
|
g.*
|
||||||
|
,gset.chan
|
||||||
|
--,gset.mold moldh
|
||||||
|
,gset.v1ds v1dsh
|
||||||
|
,gset.cust
|
||||||
|
,gset.vers
|
||||||
|
,je.k
|
||||||
|
,seas.*
|
||||||
|
FROM
|
||||||
|
lqg g
|
||||||
|
LEFT OUTER JOIN rlarp.price_pool_dev p ON
|
||||||
|
p.gset @> jsonb_build_object('mold',g.part_group)
|
||||||
|
AND p.gset ? 'cust'
|
||||||
|
AND p.gset ? 'v1ds'
|
||||||
|
LEFT JOIN LATERAL jsonb_to_record(p.gset) AS gset(
|
||||||
|
chan text
|
||||||
|
,mold text
|
||||||
|
,v1ds text
|
||||||
|
,v0ds text
|
||||||
|
,cust text
|
||||||
|
,vers text
|
||||||
|
--,nurs text
|
||||||
|
--,ghse text
|
||||||
|
) ON TRUE
|
||||||
|
LEFT JOIN LATERAL jsonb_each(p.season) je(k,v) on true
|
||||||
|
LEFT JOIN Lateral jsonb_to_record(je.v) as seas(
|
||||||
|
units numeric
|
||||||
|
,sales_usd numeric
|
||||||
|
,price_usd numeric
|
||||||
|
) ON TRUE
|
||||||
|
)
|
||||||
|
SELECT * FROM hist;
|
@ -10,7 +10,7 @@ SELECT
|
|||||||
,je.k
|
,je.k
|
||||||
,seas.*
|
,seas.*
|
||||||
FROM
|
FROM
|
||||||
rlarp.price_pool p
|
rlarp.price_pool_dev p
|
||||||
LEFT JOIN LATERAL jsonb_to_record(p.gset) AS gset(
|
LEFT JOIN LATERAL jsonb_to_record(p.gset) AS gset(
|
||||||
chan text
|
chan text
|
||||||
,mold text
|
,mold text
|
||||||
|
@ -18,7 +18,7 @@ sort AS (
|
|||||||
,stats.*
|
,stats.*
|
||||||
,season
|
,season
|
||||||
FROM
|
FROM
|
||||||
rlarp.price_pool p
|
rlarp.price_pool_dev p
|
||||||
JOIN LATERAL jsonb_to_record(gset) AS gset(
|
JOIN LATERAL jsonb_to_record(gset) AS gset(
|
||||||
chan text
|
chan text
|
||||||
,mold text
|
,mold text
|
||||||
|
@ -11,7 +11,7 @@ sel AS (select 'v1:T..PLT..' _v1ds, 'KAWAHARA NURSERY' _cust, 'AZE10001' _mold,
|
|||||||
,stats.*
|
,stats.*
|
||||||
,season
|
,season
|
||||||
FROM
|
FROM
|
||||||
rlarp.price_pool p
|
rlarp.price_pool_dev p
|
||||||
CROSS JOIN sel
|
CROSS JOIN sel
|
||||||
JOIN LATERAL jsonb_to_record(gset) AS gset(
|
JOIN LATERAL jsonb_to_record(gset) AS gset(
|
||||||
chan text
|
chan text
|
||||||
|
@ -25,7 +25,7 @@ BEGIN
|
|||||||
stats,
|
stats,
|
||||||
(SELECT doc FROM getj) AS gdoc
|
(SELECT doc FROM getj) AS gdoc
|
||||||
FROM
|
FROM
|
||||||
rlarp.price_pool p
|
rlarp.price_pool_dev p
|
||||||
WHERE
|
WHERE
|
||||||
gset @> jsonb_build_object(
|
gset @> jsonb_build_object(
|
||||||
'mold', (SELECT doc->>'mold' FROM getj),
|
'mold', (SELECT doc->>'mold' FROM getj),
|
||||||
|
@ -10,7 +10,7 @@ sel AS (select 'v1:P.P.PLT..' _v1ds, 'ALTMAN PLANTS' _cust, 'TFR001G0' _mold, 'D
|
|||||||
,row_number() OVER (PARTITION BY p.agglevel ORDER BY avgunits DESC) rn
|
,row_number() OVER (PARTITION BY p.agglevel ORDER BY avgunits DESC) rn
|
||||||
,stats.*
|
,stats.*
|
||||||
FROM
|
FROM
|
||||||
rlarp.price_pool p
|
rlarp.price_pool_dev p
|
||||||
CROSS JOIN sel
|
CROSS JOIN sel
|
||||||
JOIN LATERAL jsonb_to_record(gset) AS gset(
|
JOIN LATERAL jsonb_to_record(gset) AS gset(
|
||||||
chan text
|
chan text
|
||||||
|
69
sql/live_quote_nohist.pg.sql
Normal file
69
sql/live_quote_nohist.pg.sql
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
DROP TABLE IF EXISTS rlarp.live_quotes_nohist;
|
||||||
|
|
||||||
|
CREATE TABLE rlarp.live_quotes_nohist AS
|
||||||
|
WITH
|
||||||
|
lq AS MATERIALIZED (
|
||||||
|
SELECT
|
||||||
|
lq.*
|
||||||
|
,substring(lq.part,1,8) mold
|
||||||
|
FROM
|
||||||
|
pricequote.live_quotes lq
|
||||||
|
)
|
||||||
|
,lqg AS (
|
||||||
|
SELECT
|
||||||
|
lq.*
|
||||||
|
,pricing->'product'->>'mold' part_group
|
||||||
|
,substring(pricing->'customer'->>'chan',1,1) qchan
|
||||||
|
,pricing->'customer'->>'cust' qcust
|
||||||
|
,pricing->'product'->>'itemrel' item_fit
|
||||||
|
,(pricing->'product'->>'pltq')::numeric pltq
|
||||||
|
,(pricing->'guidance'->'finalPrice'->>'Price')::numeric guidance
|
||||||
|
,pricing->'guidance'->'finalPrice'->>'Reason' reason
|
||||||
|
,(pricing->'product'->>'cstd_usd_ina')::numeric fstd_usd
|
||||||
|
,(pricing->'guidance'->>'ltp')::numeric ltp
|
||||||
|
,(pricing->'guidance'->>'optimization')::numeric optimization
|
||||||
|
,(pricing->'guidance'->>'inflationFactor')::numeric inflation
|
||||||
|
,jsonb_pretty(pricing) pricing
|
||||||
|
FROM
|
||||||
|
lq
|
||||||
|
LEFT JOIN LATERAL rlarp.guidance_r1(
|
||||||
|
rlarp.get_guidance_dseg(lq.billto,lq.shipto,substring(lq.part,1,8),lq.v1ds,lq.units_each,2024)
|
||||||
|
) pricing ON TRUE
|
||||||
|
WHERE
|
||||||
|
TRUE
|
||||||
|
--lq.qstat ~ 'Submitted'
|
||||||
|
)
|
||||||
|
--,hist AS (
|
||||||
|
-- SELECT
|
||||||
|
-- g.*
|
||||||
|
-- ,gset.chan
|
||||||
|
-- --,gset.mold moldh
|
||||||
|
-- ,gset.v1ds v1dsh
|
||||||
|
-- ,gset.cust
|
||||||
|
-- ,gset.vers
|
||||||
|
-- ,je.k
|
||||||
|
-- ,seas.*
|
||||||
|
-- FROM
|
||||||
|
-- lqg g
|
||||||
|
-- LEFT OUTER JOIN rlarp.price_pool_dev p ON
|
||||||
|
-- p.gset @> jsonb_build_object('mold',g.part_group)
|
||||||
|
-- AND p.gset ? 'cust'
|
||||||
|
-- AND p.gset ? 'v1ds'
|
||||||
|
-- LEFT JOIN LATERAL jsonb_to_record(p.gset) AS gset(
|
||||||
|
-- chan text
|
||||||
|
-- ,mold text
|
||||||
|
-- ,v1ds text
|
||||||
|
-- ,v0ds text
|
||||||
|
-- ,cust text
|
||||||
|
-- ,vers text
|
||||||
|
-- --,nurs text
|
||||||
|
-- --,ghse text
|
||||||
|
-- ) ON TRUE
|
||||||
|
-- LEFT JOIN LATERAL jsonb_each(p.season) je(k,v) on true
|
||||||
|
-- LEFT JOIN Lateral jsonb_to_record(je.v) as seas(
|
||||||
|
-- units numeric
|
||||||
|
-- ,sales_usd numeric
|
||||||
|
-- ,price_usd numeric
|
||||||
|
-- ) ON TRUE
|
||||||
|
--)
|
||||||
|
SELECT * FROM lqg;
|
@ -46,7 +46,7 @@ lq AS MATERIALIZED (
|
|||||||
,seas.*
|
,seas.*
|
||||||
FROM
|
FROM
|
||||||
lqg g
|
lqg g
|
||||||
LEFT OUTER JOIN rlarp.price_pool p ON
|
LEFT OUTER JOIN rlarp.price_pool_dev p ON
|
||||||
p.gset @> jsonb_build_object('mold',g.part_group)
|
p.gset @> jsonb_build_object('mold',g.part_group)
|
||||||
AND p.gset ? 'cust'
|
AND p.gset ? 'cust'
|
||||||
AND p.gset ? 'v1ds'
|
AND p.gset ? 'v1ds'
|
||||||
|
59
sql/livequotes_dev.pg.sql
Normal file
59
sql/livequotes_dev.pg.sql
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
WITH
|
||||||
|
lq AS MATERIALIZED (
|
||||||
|
SELECT
|
||||||
|
lq.*
|
||||||
|
,substring(lq.part,1,8) mold
|
||||||
|
FROM
|
||||||
|
pricequote.live_quotes lq
|
||||||
|
)
|
||||||
|
,lqg AS (
|
||||||
|
SELECT
|
||||||
|
lq.*
|
||||||
|
,m.part_group
|
||||||
|
,(pricing->'guidance'->'finalPrice'->>'Price')::numeric guidance
|
||||||
|
,pricing->'guidance'->'finalPrice'->>'Reason' reason
|
||||||
|
,jsonb_pretty(pricing) pricing
|
||||||
|
FROM
|
||||||
|
lq
|
||||||
|
JOIN LATERAL rlarp.guidance_r1(
|
||||||
|
rlarp.get_guidance_dseg(lq.billto,lq.shipto,substring(lq.part,1,8),lq.v1ds,lq.units_each,2024)
|
||||||
|
) pricing ON TRUE
|
||||||
|
LEFT OUTER JOIN rlarp.molds m ON
|
||||||
|
m.stlc = lq.mold
|
||||||
|
WHERE
|
||||||
|
lq.qstat ~ 'Submitted'
|
||||||
|
)
|
||||||
|
,hist AS (
|
||||||
|
SELECT
|
||||||
|
g.*
|
||||||
|
,gset.chan
|
||||||
|
--,gset.mold moldh
|
||||||
|
,gset.v1ds v1dsh
|
||||||
|
,gset.cust
|
||||||
|
,gset.vers
|
||||||
|
,je.k
|
||||||
|
,seas.*
|
||||||
|
FROM
|
||||||
|
lqg g
|
||||||
|
LEFT OUTER JOIN rlarp.price_pool_dev p ON
|
||||||
|
p.gset @> jsonb_build_object('mold',g.part_group)
|
||||||
|
AND p.gset ? 'cust'
|
||||||
|
AND p.gset ? 'v1ds'
|
||||||
|
LEFT JOIN LATERAL jsonb_to_record(p.gset) AS gset(
|
||||||
|
chan text
|
||||||
|
,mold text
|
||||||
|
,v1ds text
|
||||||
|
,v0ds text
|
||||||
|
,cust text
|
||||||
|
,vers text
|
||||||
|
--,nurs text
|
||||||
|
--,ghse text
|
||||||
|
) ON TRUE
|
||||||
|
LEFT JOIN LATERAL jsonb_each(p.season) je(k,v) on true
|
||||||
|
LEFT JOIN Lateral jsonb_to_record(je.v) as seas(
|
||||||
|
units numeric
|
||||||
|
,sales_usd numeric
|
||||||
|
,price_usd numeric
|
||||||
|
) ON TRUE
|
||||||
|
)
|
||||||
|
SELECT * FROM hist WHERE qid = 73059
|
@ -3,6 +3,7 @@
|
|||||||
--$func$
|
--$func$
|
||||||
--BEGIN;
|
--BEGIN;
|
||||||
DROP MATERIALIZED VIEW IF EXISTS rlarp.price_pool CASCADE;
|
DROP MATERIALIZED VIEW IF EXISTS rlarp.price_pool CASCADE;
|
||||||
|
--CREATE TABLE IF NOT EXISTS rlarp.price_pool_dev AS (
|
||||||
CREATE MATERIALIZED VIEW rlarp.price_pool AS (
|
CREATE MATERIALIZED VIEW rlarp.price_pool AS (
|
||||||
WITH
|
WITH
|
||||||
agg AS (
|
agg AS (
|
||||||
@ -11,13 +12,13 @@ CREATE MATERIALIZED VIEW rlarp.price_pool AS (
|
|||||||
,substring(o.version,1,1) version
|
,substring(o.version,1,1) version
|
||||||
,o.chanwide
|
,o.chanwide
|
||||||
,o.nursery_region
|
,o.nursery_region
|
||||||
,o.greenhouse_region
|
,c.greenhouse_region
|
||||||
,o.partgroup baseitem
|
,m.part_group baseitem
|
||||||
,o.majgd
|
,m.majg
|
||||||
,o.assc
|
,m.assc
|
||||||
,o.coltierd
|
,i.coltier
|
||||||
,o.dataseg v1dataseg
|
,'v1:' || rtrim(COALESCE(i.coltier, ''))|| '.' || rtrim(substring(COALESCE(i.branding, ''), 1, 1))|| '.' || rtrim(COALESCE(i.uomp, ''))|| '.' || rtrim(COALESCE(i.suffix, ''))|| '.' || rtrim(COALESCE(i.accs_ps, '')) v1dataseg
|
||||||
,o.v0dataseg v0dataseg
|
,_ds.dataseg v0dataseg
|
||||||
,o.oseas oseas
|
,o.oseas oseas
|
||||||
,round(sum(o.qty),0) units
|
,round(sum(o.qty),0) units
|
||||||
,round(sum(o.sales_usd),0) sales_usd
|
,round(sum(o.sales_usd),0) sales_usd
|
||||||
@ -25,43 +26,52 @@ CREATE MATERIALIZED VIEW rlarp.price_pool AS (
|
|||||||
,count(DISTINCT o.ordnum) ordcount
|
,count(DISTINCT o.ordnum) ordcount
|
||||||
FROM
|
FROM
|
||||||
rlarp.osm_stack o
|
rlarp.osm_stack o
|
||||||
|
INNER JOIN "CMS.CUSLG".itemm i ON
|
||||||
|
i.item = o.part
|
||||||
|
LEFT OUTER JOIN rlarp.molds m ON
|
||||||
|
m.stlc = i.stlc
|
||||||
|
LEFT OUTER JOIN _ds ON
|
||||||
|
_ds.colgrp = o.colgrp
|
||||||
|
AND _ds.brand = substring(i.branding,1,1)
|
||||||
LEFT OUTER JOIN pricequote.market_setavgprice tp ON
|
LEFT OUTER JOIN pricequote.market_setavgprice tp ON
|
||||||
tp.season = (SELECT ssyr FROM rlarp.gld where drange @> current_date)
|
tp.season = (SELECT ssyr FROM rlarp.gld where drange @> current_date)
|
||||||
AND tp.country = 'ALL'
|
AND tp.country = 'ALL'
|
||||||
AND tp.geo = 'ALL'
|
AND tp.geo = 'ALL'
|
||||||
AND tp.region = 'ALL'
|
AND tp.region = 'ALL'
|
||||||
AND tp.mold = o.stlc
|
AND tp.mold = i.stlc
|
||||||
AND tp.chan = 'DISTRIB DROP SHIP'
|
AND tp.chan = 'DISTRIB DROP SHIP'
|
||||||
AND tp.data_segment = o.dataseg
|
AND tp.data_segment = 'v1:' || rtrim(COALESCE(i.coltier, ''))|| '.' || rtrim(substring(COALESCE(i.branding, ''), 1, 1))|| '.' || rtrim(COALESCE(i.uomp, ''))|| '.' || rtrim(COALESCE(i.suffix, ''))|| '.' || rtrim(COALESCE(i.accs_ps, ''))
|
||||||
LEFT OUTER JOIN pricequote.market_setavgprice tq ON
|
LEFT OUTER JOIN pricequote.market_setavgprice tq ON
|
||||||
tq.season = (SELECT ssyr FROM rlarp.gld where drange @> current_date)
|
tq.season = (SELECT ssyr FROM rlarp.gld where drange @> current_date)
|
||||||
AND tq.country = 'ALL'
|
AND tq.country = 'ALL'
|
||||||
AND tq.geo = 'ALL'
|
AND tq.geo = 'ALL'
|
||||||
AND tq.region = 'ALL'
|
AND tq.region = 'ALL'
|
||||||
AND tq.mold = o.stlc
|
AND tq.mold = i.stlc
|
||||||
AND tq.chan = 'DISTRIB DROP SHIP'
|
AND tq.chan = 'DISTRIB DROP SHIP'
|
||||||
AND tq.data_segment = o.v0dataseg
|
AND tq.data_segment = _ds.dataseg
|
||||||
|
LEFT OUTER JOIN rlarp.cust c ON
|
||||||
|
c.code = CASE o.chan WHEN 'DIR' THEN o.bill_cust ELSE o.ship_cust END
|
||||||
WHERE
|
WHERE
|
||||||
o.version IN ('Actual','Quotes')
|
o.version IN ('Actual','Quotes')
|
||||||
AND o.oseas >= 2015
|
AND o.oseas >= 2015
|
||||||
AND o.mingd <> 'B52'
|
AND o.dsm <> 'PW'
|
||||||
--AND o.part like 'SQL035%'
|
--AND o.part like 'SQL035%'
|
||||||
--AND o.calc_status <> 'CANCELED'
|
--AND o.calc_status <> 'CANCELED'
|
||||||
AND o.fs_line = '41010'
|
--AND o.fs_line = '41010'
|
||||||
--AND o.dsm <> 'PW'
|
--AND o.dsm <> 'PW'
|
||||||
--AND i.coltierd <> 'C'
|
--AND i.coltier <> 'C'
|
||||||
GROUP BY
|
GROUP BY
|
||||||
o.customer
|
o.customer
|
||||||
,substring(o.version,1,1)
|
,substring(o.version,1,1)
|
||||||
,o.chanwide
|
,o.chanwide
|
||||||
,o.nursery_region
|
,o.nursery_region
|
||||||
,o.greenhouse_region
|
,c.greenhouse_region
|
||||||
,o.partgroup
|
,m.part_group
|
||||||
,o.majgd
|
,m.majg
|
||||||
,o.assc
|
,m.assc
|
||||||
,o.coltierd
|
,i.coltier
|
||||||
,o.dataseg
|
,'v1:' || rtrim(COALESCE(i.coltier, ''))|| '.' || rtrim(substring(COALESCE(i.branding, ''), 1, 1))|| '.' || rtrim(COALESCE(i.uomp, ''))|| '.' || rtrim(COALESCE(i.suffix, ''))|| '.' || rtrim(COALESCE(i.accs_ps, ''))
|
||||||
,o.v0dataseg
|
,_ds.dataseg
|
||||||
,o.oseas
|
,o.oseas
|
||||||
HAVING
|
HAVING
|
||||||
round(sum(o.qty),0) > 0
|
round(sum(o.qty),0) > 0
|
||||||
@ -72,13 +82,13 @@ CREATE MATERIALIZED VIEW rlarp.price_pool AS (
|
|||||||
,substring(o.version,1,1) version
|
,substring(o.version,1,1) version
|
||||||
,o.chanwide
|
,o.chanwide
|
||||||
,o.nursery_region
|
,o.nursery_region
|
||||||
,o.greenhouse_region
|
,c.greenhouse_region
|
||||||
,o.partgroup baseitem
|
,m.part_group baseitem
|
||||||
,o.majgd
|
,m.majg
|
||||||
,o.assc
|
,m.assc
|
||||||
,o.coltierd
|
,i.coltier
|
||||||
,o.dataseg v1dataseg
|
,'v1:' || rtrim(COALESCE(i.coltier, ''))|| '.' || rtrim(substring(COALESCE(i.branding, ''), 1, 1))|| '.' || rtrim(COALESCE(i.uomp, ''))|| '.' || rtrim(COALESCE(i.suffix, ''))|| '.' || rtrim(COALESCE(i.accs_ps, '')) v1dataseg
|
||||||
,o.v0dataseg v0dataseg
|
,_ds.dataseg v0dataseg
|
||||||
,0 oseas
|
,0 oseas
|
||||||
,round(sum(o.qty),0) units
|
,round(sum(o.qty),0) units
|
||||||
,round(sum(o.sales_usd),0) sales_usd
|
,round(sum(o.sales_usd),0) sales_usd
|
||||||
@ -86,43 +96,52 @@ CREATE MATERIALIZED VIEW rlarp.price_pool AS (
|
|||||||
,count(DISTINCT o.ordnum) ordcount
|
,count(DISTINCT o.ordnum) ordcount
|
||||||
FROM
|
FROM
|
||||||
rlarp.osm_stack o
|
rlarp.osm_stack o
|
||||||
|
INNER JOIN "CMS.CUSLG".itemm i ON
|
||||||
|
i.item = o.part
|
||||||
|
LEFT OUTER JOIN rlarp.molds m ON
|
||||||
|
m.stlc = i.stlc
|
||||||
|
LEFT OUTER JOIN _ds ON
|
||||||
|
_ds.colgrp = o.colgrp
|
||||||
|
AND _ds.brand = substring(i.branding,1,1)
|
||||||
LEFT OUTER JOIN pricequote.market_setavgprice tp ON
|
LEFT OUTER JOIN pricequote.market_setavgprice tp ON
|
||||||
tp.season = (SELECT ssyr FROM rlarp.gld where drange @> current_date)
|
tp.season = (SELECT ssyr FROM rlarp.gld where drange @> current_date)
|
||||||
AND tp.country = 'ALL'
|
AND tp.country = 'ALL'
|
||||||
AND tp.geo = 'ALL'
|
AND tp.geo = 'ALL'
|
||||||
AND tp.region = 'ALL'
|
AND tp.region = 'ALL'
|
||||||
AND tp.mold = o.stlc
|
AND tp.mold = i.stlc
|
||||||
AND tp.chan = 'DISTRIB DROP SHIP'
|
AND tp.chan = 'DISTRIB DROP SHIP'
|
||||||
AND tp.data_segment = o.dataseg
|
AND tp.data_segment = 'v1:' || rtrim(COALESCE(i.coltier, ''))|| '.' || rtrim(substring(COALESCE(i.branding, ''), 1, 1))|| '.' || rtrim(COALESCE(i.uomp, ''))|| '.' || rtrim(COALESCE(i.suffix, ''))|| '.' || rtrim(COALESCE(i.accs_ps, ''))
|
||||||
LEFT OUTER JOIN pricequote.market_setavgprice tq ON
|
LEFT OUTER JOIN pricequote.market_setavgprice tq ON
|
||||||
tq.season = (SELECT ssyr FROM rlarp.gld where drange @> current_date)
|
tq.season = (SELECT ssyr FROM rlarp.gld where drange @> current_date)
|
||||||
AND tq.country = 'ALL'
|
AND tq.country = 'ALL'
|
||||||
AND tq.geo = 'ALL'
|
AND tq.geo = 'ALL'
|
||||||
AND tq.region = 'ALL'
|
AND tq.region = 'ALL'
|
||||||
AND tq.mold = o.stlc
|
AND tq.mold = i.stlc
|
||||||
AND tq.chan = 'DISTRIB DROP SHIP'
|
AND tq.chan = 'DISTRIB DROP SHIP'
|
||||||
AND tq.data_segment = o.v0dataseg
|
AND tq.data_segment = _ds.dataseg
|
||||||
|
LEFT OUTER JOIN rlarp.cust c ON
|
||||||
|
c.code = CASE o.chan WHEN 'DIR' THEN o.bill_cust ELSE o.ship_cust END
|
||||||
WHERE
|
WHERE
|
||||||
o.version IN ('Actual','Quotes')
|
o.version IN ('Actual','Quotes')
|
||||||
AND o.odate >= current_date - '4 months'::interval
|
AND o.odate >= current_date - '4 months'::interval
|
||||||
AND o.mingd <> 'B52'
|
AND o.dsm <> 'PW'
|
||||||
--AND o.part like 'SQL035%'
|
--AND o.part like 'SQL035%'
|
||||||
--AND o.calc_status <> 'CANCELED'
|
--AND o.calc_status <> 'CANCELED'
|
||||||
--AND o.fs_line = '41010'
|
--AND o.fs_line = '41010'
|
||||||
--AND o.dsm <> 'PW'
|
--AND o.dsm <> 'PW'
|
||||||
--AND i.coltierd <> 'C'
|
--AND i.coltier <> 'C'
|
||||||
GROUP BY
|
GROUP BY
|
||||||
o.customer
|
o.customer
|
||||||
,substring(o.version,1,1)
|
,substring(o.version,1,1)
|
||||||
,o.chanwide
|
,o.chanwide
|
||||||
,o.nursery_region
|
,o.nursery_region
|
||||||
,o.greenhouse_region
|
,c.greenhouse_region
|
||||||
,o.partgroup
|
,m.part_group
|
||||||
,o.majgd
|
,m.majg
|
||||||
,o.assc
|
,m.assc
|
||||||
,o.coltierd
|
,i.coltier
|
||||||
,o.dataseg
|
,'v1:' || rtrim(COALESCE(i.coltier, ''))|| '.' || rtrim(substring(COALESCE(i.branding, ''), 1, 1))|| '.' || rtrim(COALESCE(i.uomp, ''))|| '.' || rtrim(COALESCE(i.suffix, ''))|| '.' || rtrim(COALESCE(i.accs_ps, ''))
|
||||||
,o.v0dataseg
|
,_ds.dataseg
|
||||||
,o.oseas
|
,o.oseas
|
||||||
HAVING
|
HAVING
|
||||||
round(sum(o.qty),0) > 0
|
round(sum(o.qty),0) > 0
|
||||||
@ -148,7 +167,7 @@ CREATE MATERIALIZED VIEW rlarp.price_pool AS (
|
|||||||
,sum(sales_usd) sales_usd
|
,sum(sales_usd) sales_usd
|
||||||
,round(sum(sales_usd )/sum(units),5) price_usd
|
,round(sum(sales_usd )/sum(units),5) price_usd
|
||||||
,round(sum(target_price)/sum(units) FILTER (WHERE COALESCE(target_price,0) <> 0 ),5) target_price
|
,round(sum(target_price)/sum(units) FILTER (WHERE COALESCE(target_price,0) <> 0 ),5) target_price
|
||||||
,jsonb_agg(DISTINCT coltierd) coltierd
|
,jsonb_agg(DISTINCT coltier) coltier
|
||||||
,count(DISTINCT customer) custcount
|
,count(DISTINCT customer) custcount
|
||||||
,sum(ordcount) ordcount
|
,sum(ordcount) ordcount
|
||||||
FROM
|
FROM
|
||||||
|
@ -3,7 +3,6 @@
|
|||||||
DROP VIEW IF EXISTS rlarp.quote_review;
|
DROP VIEW IF EXISTS rlarp.quote_review;
|
||||||
CREATE VIEW rlarp.quote_review AS
|
CREATE VIEW rlarp.quote_review AS
|
||||||
WITH
|
WITH
|
||||||
---------------------get quote lines from SQL Server---------------------
|
|
||||||
lq AS MATERIALIZED (
|
lq AS MATERIALIZED (
|
||||||
SELECT
|
SELECT
|
||||||
lq.*
|
lq.*
|
||||||
@ -11,9 +10,8 @@ lq AS MATERIALIZED (
|
|||||||
FROM
|
FROM
|
||||||
pricequote.live_quotes lq
|
pricequote.live_quotes lq
|
||||||
WHERE
|
WHERE
|
||||||
qstat LIKE '%Submitted%'
|
qstat LIKE 'Submitted%'
|
||||||
)
|
)
|
||||||
---------------------guidance logic---------------------------------------
|
|
||||||
,lqg AS (
|
,lqg AS (
|
||||||
SELECT
|
SELECT
|
||||||
lq.qid
|
lq.qid
|
||||||
@ -69,9 +67,9 @@ lq AS MATERIALIZED (
|
|||||||
-- if more than a pallet use the target price
|
-- if more than a pallet use the target price
|
||||||
ELSE CASE WHEN units_each >= 8*mpck THEN (lq.upperpricelimit + lq.lowerpricelimit) / 2
|
ELSE CASE WHEN units_each >= 8*mpck THEN (lq.upperpricelimit + lq.lowerpricelimit) / 2
|
||||||
-- if more than a pallet use the target price
|
-- if more than a pallet use the target price
|
||||||
ELSE CASE WHEN units_each >= 2*mpck THEN lq.upperpricelimit
|
ELSE CASE WHEN units_each >= 4*mpck THEN lq.upperpricelimit
|
||||||
-- if more than a pallet use the target price
|
-- if more than a pallet use the target price
|
||||||
ELSE lq.upperpricelimit * 1.05
|
ELSE lq.upperpricelimit * 1.15
|
||||||
END END END
|
END END END
|
||||||
ELSE
|
ELSE
|
||||||
CASE WHEN i.pricegroup ~ '(Hanger|Dish)' THEN
|
CASE WHEN i.pricegroup ~ '(Hanger|Dish)' THEN
|
||||||
@ -94,9 +92,6 @@ lq AS MATERIALIZED (
|
|||||||
END END END
|
END END END
|
||||||
END
|
END
|
||||||
END guidance
|
END guidance
|
||||||
,pl.price pricelist
|
|
||||||
,pl.listcode
|
|
||||||
,row_number() OVER (PARTITION BY qid, qline ORDER BY pl.price ASC) bestprice
|
|
||||||
-- ,(pricing->'guidance'->>'ltp')::numeric ltp
|
-- ,(pricing->'guidance'->>'ltp')::numeric ltp
|
||||||
-- ,(pricing->'guidance'->>'optimization')::numeric optimization
|
-- ,(pricing->'guidance'->>'optimization')::numeric optimization
|
||||||
-- ,(pricing->'guidance'->>'inflationFactor')::numeric inflation
|
-- ,(pricing->'guidance'->>'inflationFactor')::numeric inflation
|
||||||
@ -105,23 +100,9 @@ lq AS MATERIALIZED (
|
|||||||
lq
|
lq
|
||||||
LEFT OUTER JOIN "CMS.CUSLG".itemm i ON
|
LEFT OUTER JOIN "CMS.CUSLG".itemm i ON
|
||||||
i.item = lq.part
|
i.item = lq.part
|
||||||
LEFT OUTER JOIN rlarp.cust bc ON
|
|
||||||
bc.code = lq.billto
|
|
||||||
LEFT OUTER JOIN rlarp.cust sc ON
|
|
||||||
sc.code = lq.shipto
|
|
||||||
LEFT OUTER JOIN rlarp.plcore_fullcode_ranged pl ON
|
|
||||||
pl.item = lq.part
|
|
||||||
AND jsonb_build_array(pl.listcode) <@ (COALESCE(sc.lists,bc.lists))
|
|
||||||
AND (
|
|
||||||
lq.units_each >= pl.vb_f
|
|
||||||
AND lq.units_each < pl.vb_t
|
|
||||||
)
|
|
||||||
WHERE
|
WHERE
|
||||||
lq.qstat ~ 'Submitted'
|
lq.qstat ~ 'Submitted'
|
||||||
)
|
)
|
||||||
-- SELECT * FROM lqg where bestprice <> 1
|
|
||||||
-- SELECT * FROM lqg WHERE qid = 109352
|
|
||||||
---------------------------link in sales history----------------------------------------------
|
|
||||||
,hist AS (
|
,hist AS (
|
||||||
SELECT
|
SELECT
|
||||||
g.*
|
g.*
|
||||||
@ -154,7 +135,5 @@ lq AS MATERIALIZED (
|
|||||||
,sales_usd numeric
|
,sales_usd numeric
|
||||||
,price_usd numeric
|
,price_usd numeric
|
||||||
) ON TRUE
|
) ON TRUE
|
||||||
WHERE
|
|
||||||
COALESCE(g.bestprice,1) = 1
|
|
||||||
)
|
)
|
||||||
SELECT * FROM hist --WHERE qid = 108655
|
SELECT * FROM hist --WHERE qid = 108655
|
||||||
|
Loading…
Reference in New Issue
Block a user