work on problems with dss not reflecting last sales
This commit is contained in:
parent
47d77d3706
commit
fe67caf1af
@ -99,8 +99,8 @@ SELECT
|
|||||||
CASE WHEN rn_mrq = 1 THEN 'mrq' END AS f2,
|
CASE WHEN rn_mrq = 1 THEN 'mrq' END AS f2,
|
||||||
CASE WHEN rn_lvs = 1 THEN 'lvs' END AS f3,
|
CASE WHEN rn_lvs = 1 THEN 'lvs' END AS f3,
|
||||||
CASE WHEN rn_lvq = 1 THEN 'lvq' END AS f4,
|
CASE WHEN rn_lvq = 1 THEN 'lvq' END AS f4,
|
||||||
CASE WHEN rn_dss = 1 THEN 'dss' END AS f5,
|
CASE WHEN rn_dss = 1 AND version = 'Actual' THEN 'dss' END AS f5,
|
||||||
CASE WHEN rn_dsq = 1 THEN 'dsq' END AS f6
|
CASE WHEN rn_dsq = 1 AND version = 'Quotes' THEN 'dsq' END AS f6
|
||||||
INTO #flagged
|
INTO #flagged
|
||||||
FROM ranked
|
FROM ranked
|
||||||
WHERE
|
WHERE
|
||||||
@ -108,8 +108,8 @@ WHERE
|
|||||||
OR rn_mrq = 1
|
OR rn_mrq = 1
|
||||||
OR rn_lvs = 1
|
OR rn_lvs = 1
|
||||||
OR rn_lvq = 1
|
OR rn_lvq = 1
|
||||||
OR rn_dss = 1
|
OR (rn_dss = 1 AND version = 'Actual')
|
||||||
OR rn_dsq = 1;
|
OR (rn_dsq = 1 AND version = 'Quotes');
|
||||||
|
|
||||||
CREATE NONCLUSTERED INDEX ix_flagged_lookup
|
CREATE NONCLUSTERED INDEX ix_flagged_lookup
|
||||||
ON #flagged(customer, partgroup, dataseg, version, part, qty, price, odate, ordnum, quoten);
|
ON #flagged(customer, partgroup, dataseg, version, part, qty, price, odate, ordnum, quoten);
|
||||||
@ -129,12 +129,15 @@ WITH exploded_flags AS (
|
|||||||
)
|
)
|
||||||
--SELECT * FROM exploded_flags
|
--SELECT * FROM exploded_flags
|
||||||
-- Step 3.2: Serialize each row into its JSON snippet
|
-- Step 3.2: Serialize each row into its JSON snippet
|
||||||
|
-- Carry odate and version for deduplication in seg_pieces
|
||||||
,serialized_flags AS (
|
,serialized_flags AS (
|
||||||
SELECT
|
SELECT
|
||||||
customer,
|
customer,
|
||||||
partgroup,
|
partgroup,
|
||||||
dataseg,
|
dataseg,
|
||||||
flag,
|
flag,
|
||||||
|
odate,
|
||||||
|
version,
|
||||||
CONCAT(
|
CONCAT(
|
||||||
'"', flag, '":',
|
'"', flag, '":',
|
||||||
JSON_QUERY((
|
JSON_QUERY((
|
||||||
@ -179,7 +182,8 @@ WITH exploded_flags AS (
|
|||||||
SELECT *,
|
SELECT *,
|
||||||
ROW_NUMBER() OVER (
|
ROW_NUMBER() OVER (
|
||||||
PARTITION BY customer, partgroup, dataseg, flag
|
PARTITION BY customer, partgroup, dataseg, flag
|
||||||
ORDER BY odate DESC, version DESC -- prefer most recent, then prefer 'Actual' over 'Quotes'
|
ORDER BY odate DESC,
|
||||||
|
CASE WHEN version = 'Actual' THEN 1 ELSE 0 END DESC
|
||||||
) AS rn
|
) AS rn
|
||||||
FROM serialized_flags
|
FROM serialized_flags
|
||||||
WHERE flag IN ('dss', 'dsq')
|
WHERE flag IN ('dss', 'dsq')
|
||||||
|
Loading…
Reference in New Issue
Block a user