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-2024.png

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.

 

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.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

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