Dear,
With my code I am getting my output.
Are there any other way I can write the code in the second data step. Thank you
data one;
input date1 date2 date3 date4;
informat date: yymmdd10.;
format date: yymmdd10.;
datalines;
2015-10-01 2015-10-02 2015-10-20 2015-10-12
;
run;
data two;
set one;
if date1 ne . and date2 ne . and date3 ne . and date4 ne . then adt=min(date1,date2,date3,date4);
if adt =date1 or adt =date2 or adt =date3 then edur='recur';
else if adt=date4 then edur='death';
format adt yymmdd10.;
run;
Look at the example:
data _null_;
a1 = 10;
a2 = 5;
a3 = .;
y = min(a1,a2,a3);
put y =;
if whichN(y, a1,a2,a3) then xx ='recur';
put xx =;
run;
COALESCE() can come in handy.
Read through the function list, the best way to know what options you have
data two;
set one;
if cmiss(of date:) = 0 then
edur = choosec(whichn(min(of date:), of date:),"recur","recur","recur","death");
run;
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.