RETAIN MISSING VALUE OF VISITNUM WITH PREVIOUS VALUE WITH ADDITION OF 0.01
EX;
VISTNUM
1
.
.
2
.
3
THEN I WANT
VISTNUM
1
1.01
1.02
2
2.01
3
Make a new variable. You can always rename it if you want.
data want ;
set have ;
if missing(visitnum) then newvar+0.01 ;
else newvar=visitnum;
run;
Obs visitnum newvar 1 1 1.00 2 . 1.01 3 . 1.02 4 2 2.00 5 . 2.01 6 3 3.00
Make a new variable. You can always rename it if you want.
data want ;
set have ;
if missing(visitnum) then newvar+0.01 ;
else newvar=visitnum;
run;
Obs visitnum newvar 1 1 1.00 2 . 1.01 3 . 1.02 4 2 2.00 5 . 2.01 6 3 3.00
data given;
infile datalines dlm=' ' missover dsd;
input subject visit $11. visitnum 16-18;
datalines;
100 Screening -1
100 day 1 1
100 day 2 2
100 UNSCHEDULED
100 UNSCHEDULED
100 day 3 3
100 day 4 4
100 UNSCHEDULED
100 day 5 5
100 UNSCHEDULED
100 UNSCHEDULED
100 UNSCHEDULED
;
run;
data output1(rename=(nvar=visitnum));
length subject 3.;
length visit $20.;
set given;
if visitnum ge 1 or nmiss(visitnum) eq 1 then do;
if nmiss(visitnum) eq 1 then do; nvar+0.01;visit=catx(':',visit,put(nvar,4.2));end;
else nvar=visitnum;visit=visit;end;
else nvar=visitnum;
drop visitnum;
run;
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.