Found a solution to this PROC SQL;
CREATE TABLE WORK.MAX_DATE AS
SELECT product,
subproduct,
MAX(date) FORMAT = DDMMYY10. AS date
FROM WORK.data
GROUP BY 1, 2
ORDER BY 1, 3
;
QUIT;
PROC SORT DATA=WORK.MAX_DATE;
BY product descending date;
RUN;
data ID;
set WORK.MAX_DATE;
by product NOTSORTED;
retain id;
if first.product then id = 1;
else id+1;
run;
/* Select MIN Date since last subproduct change */
PROC SQL;
CREATE TABLE WORK.MIN_DATE AS
SELECT a.product,
a.subproduct,
MIN(a.date) FORMAT = DDMMYY10. as date
FROM WORK.data
INNER JOIN (SELECT * FROM ID WHERE ID = 2) b ON a.product = b.product AND a.date > b.date
GROUP BY 1, 2
ORDER BY 1, 3
;
QUIT; Thanks. Jorge
... View more