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;
⏰
Today is the last day to save with the early bird rate! Register today for just $695 - $100 off the standard rate.
Plus, pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.