Hello! I need some help to retrieve values in the "next" lines of a report to create some metrics, look, i have the FLAG_1 and FLAG_2. When flag_1 and flag_2 are equal to 1 the ID received the delivery okay, finish date is equal "-" and MONTHS_TO_RECEIVE equal 0 When flag_1 = 1 and flag_2 = 2 the ID didn't received in the currently month, so the months_to_receive need to be fill with the DATE (i put in bold to help look from where i retrieve the value) of the receive, the date is the next time when flag_1 =2 and flag_2 = 1. In my data i have filled date, flag_1, flag_2, id and flag, i need to create the finish date, any idea? I tried first, retain and last... DATE FLAG_1 FLAG_2 ID FLAG FINISH_DATE MONTHS_TO_RECEIVE 202201 1 1 A RECEIVED - OK - 0 202202 1 2 A N/RECEIVED - FIRST MONTH 202204 2 202203 2 2 A N/RECEIVED - WAITING - - 202204 2 1 A RECEIVED - LATE - - 202205 1 1 A RECEIVED - OK - 0 202206 1 2 A N/RECEIVED - FIRST MONTH 202209 3 202207 2 2 A N/RECEIVED - WAITING - - 202208 2 2 A N/RECEIVED - WAITING - - 202209 2 1 A RECEIVED - LATE - - 202210 1 1 A RECEIVED - OK - 0 202211 1 2 A N/RECEIVED - FIRST MONTH 202212 1 202212 2 2 A RECEIVED - LATE - - I tried: DATA TEST2;
SET TEST;
RETAIN FINISH_DATE;
IF FLAG_1 = 1 AND FLAG_2 = 2 THEN
FINISH_DATE = FINISH_DATE;
BY ID DATE;
RUN; But, the same ID can receive or not in other date's. Someone can help me? data have;
infile datalines dlm="|" dsd;
input
date
flag1
flag2
id :$1.
flag : $30.
finish_date
months_to_receive
;
datalines;
202201|1|1|A|RECEIVED - OK|-|0
202202|1|2|A|N/RECEIVED - FIRST MONTH|202204|2
202203|2|2|A|N/RECEIVED - WAITING|-|-
202204|2|1|A|RECEIVED - LATE|-|-
202205|1|1|A|RECEIVED - OK|-|0
202206|1|2|A|N/RECEIVED - FIRST MONTH|202209|3
202207|2|2|A|N/RECEIVED - WAITING|-|-
202208|2|2|A|N/RECEIVED - WAITING|-|-
202209|2|1|A|RECEIVED - LATE|-|-
202210|1|1|A|RECEIVED - OK|-|0
202211|1|2|A|N/RECEIVED - FIRST MONTH|202212|1
202212|2|2|A|RECEIVED - LATE|-|-
;
... View more