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!

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register 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
  • 1106 views
  • 0 likes
  • 2 in conversation