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!

sas-innovate-2026-white.png



April 27 – 30 | Gaylord Texan | Grapevine, Texas

Registration is open

Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!

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