gate the row_number function so that only target rows are processes Actuals for sales and Quotes for quotes
This commit is contained in:
		
							parent
							
								
									8974095341
								
							
						
					
					
						commit
						f19bd138e3
					
				| @ -1,6 +1,6 @@ | |||||||
| REFRESH MATERIALIZED VIEW pricequote.lastpricedetail; | -- REFRESH MATERIALIZED VIEW pricequote.lastpricedetail; | ||||||
| 
 | 
 | ||||||
| --DROP MATERIALIZED VIEW pricequote.lastpricedetail | DROP MATERIALIZED VIEW pricequote.lastpricedetail; | ||||||
| 
 | 
 | ||||||
| CREATE MATERIALIZED VIEW pricequote.lastpricedetail AS | CREATE MATERIALIZED VIEW pricequote.lastpricedetail AS | ||||||
| WITH base AS ( | WITH base AS ( | ||||||
| @ -28,38 +28,38 @@ WITH base AS ( | |||||||
| ranked AS ( | ranked AS ( | ||||||
|   SELECT b.*, |   SELECT b.*, | ||||||
|     -- Most recent sale (Actuals first, newest date first) |     -- Most recent sale (Actuals first, newest date first) | ||||||
|     ROW_NUMBER() OVER ( |     CASE WHEN version = 'Actual' THEN ROW_NUMBER() OVER ( | ||||||
|       PARTITION BY customer, partgroup |       PARTITION BY customer, partgroup | ||||||
|       ORDER BY (version = 'Actual') DESC, |       ORDER BY (version = 'Actual') DESC, | ||||||
|                odate DESC NULLS LAST |                odate DESC NULLS LAST | ||||||
|     ) AS rn_mrs, |     ) END AS rn_mrs, | ||||||
|     -- Most recent quote (Quotes first, newest date first) |     -- Most recent quote (Quotes first, newest date first) | ||||||
|     ROW_NUMBER() OVER ( |     CASE WHEN version = 'Quotes' THEN ROW_NUMBER() OVER ( | ||||||
|       PARTITION BY customer, partgroup |       PARTITION BY customer, partgroup | ||||||
|       ORDER BY (version = 'Quotes') DESC, |       ORDER BY (version = 'Quotes') DESC, | ||||||
|                odate DESC NULLS LAST |                odate DESC NULLS LAST | ||||||
|     ) AS rn_mrq, |     ) END  AS rn_mrq, | ||||||
|     -- Largest volume sale in last year (those inside window first) |     -- Largest volume sale in last year (those inside window first) | ||||||
|     ROW_NUMBER() OVER ( |     CASE WHEN version = 'Actual' THEN ROW_NUMBER() OVER ( | ||||||
|       PARTITION BY customer, partgroup |       PARTITION BY customer, partgroup | ||||||
|       ORDER BY (version = 'Actual' AND odate >= CURRENT_DATE - INTERVAL '1 year') DESC, |       ORDER BY (version = 'Actual' AND odate >= CURRENT_DATE - INTERVAL '1 year') DESC, | ||||||
|                qty DESC NULLS LAST |                qty DESC NULLS LAST | ||||||
|     ) AS rn_lvs, |     ) END  AS rn_lvs, | ||||||
|     -- Largest volume quote in last year (those inside window first) |     -- Largest volume quote in last year (those inside window first) | ||||||
|     ROW_NUMBER() OVER ( |     CASE WHEN version = 'Quotes' THEN ROW_NUMBER() OVER ( | ||||||
|       PARTITION BY customer, partgroup |       PARTITION BY customer, partgroup | ||||||
|       ORDER BY (version = 'Quotes' AND odate >= CURRENT_DATE - INTERVAL '1 year') DESC, |       ORDER BY (version = 'Quotes' AND odate >= CURRENT_DATE - INTERVAL '1 year') DESC, | ||||||
|                qty DESC NULLS LAST |                qty DESC NULLS LAST | ||||||
|     ) AS rn_lvq, |     ) END  AS rn_lvq, | ||||||
|     -- Per dataseg/version: most recent (version fixed in partition, so just date) |     -- Per dataseg/version: most recent (version fixed in partition, so just date) | ||||||
|     ROW_NUMBER() OVER ( |     CASE WHEN version = 'Actual' THEN ROW_NUMBER() OVER ( | ||||||
|       PARTITION BY customer, partgroup, dataseg, version |       PARTITION BY customer, partgroup, dataseg, version | ||||||
|       ORDER BY odate DESC NULLS LAST |       ORDER BY odate DESC NULLS LAST | ||||||
|     ) AS rn_dss, |     ) END  AS rn_dss, | ||||||
|     ROW_NUMBER() OVER ( |     CASE WHEN version = 'Quotes' THEN ROW_NUMBER() OVER ( | ||||||
|       PARTITION BY customer, partgroup, dataseg, version |       PARTITION BY customer, partgroup, dataseg, version | ||||||
|       ORDER BY odate DESC NULLS LAST |       ORDER BY odate DESC NULLS LAST | ||||||
|     ) AS rn_dsq |     ) END  AS rn_dsq | ||||||
|   FROM base b |   FROM base b | ||||||
| ), | ), | ||||||
| flagged AS ( | flagged AS ( | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user