BookmarkSubscribeRSS Feed
deleted_user
Not applicable
I have a data set that is in the long format

ID Date
001 10/01/2007
001 01/02/2008
002 01/15/2008
002 02/20/2008
002 08/09/2008

I need to create a new variable called time that identifies for each subject whether their clinic visit (Date variable) represents their first visit, second visit etc

ID Date Time
001 10/01/2007 1
001 01/02/2008 2
002 01/15/2008 1
002 02/20/2008 2
002 08/09/2008 3

Can anyone kindly help me with this
2 REPLIES 2
LinusH
Tourmaline | Level 20
Try this:

data visits;
input id date;
informat date mmddyy10.;
format date mmddyy10.;
datalines;
001 10/01/2007
001 01/02/2008
002 01/15/2008
002 02/20/2008
002 08/09/2008
;
run;

data vistsno;
set visits;
by id;
if first.id then noVisit = 0;
noVisit + 1;
run;

/Linus
Data never sleeps
deleted_user
Not applicable
Linus, you're a genius!!!! Works like a charm! I have been slaving over this for days. Thank you!

Catch up on SAS Innovate 2026

Nearly 200 sessions are now available on demand with the SAS Innovate Digital Pass.

Explore Now →
How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 1589 views
  • 0 likes
  • 2 in conversation