Hi everyone,
Here are the variables I am working with:
ID
Assessment Date
Event Date
I need a variable to tell me which session that date corresponds to (Baseline, Follow Up, and Last Session). The issue is that there are cases that only have 1 session and these 1 sessions are getting lumped in with the follow up sessions. Here is what I’ve done so far.
data Want; set Have;
by ID EventDate ;
if first.ID then FirstDate = AssessmentDate;
if last.ID then LastDate = AssessmentDate;
if FirstDate = AssessmentDate then Session = 1; /*Baseline*/
If LastDate = AssessmentDate then Session = 3; /*Last Session*/
Both of the codes below lumps those with only 1 session in with the sessions that should be follow up:
if FirstDate = LastDate and AssessmentDate = EventDate = then session = 4; /*Only 1 session*/
if firsthospdate NE assessmentdate_HW and firsthospdate=. and lasthospdate=. then Session = 2; /*Follow up*/
Any help would be greatly appreciated!
Look up ELSE for use with IF-Then.
The ELSE part only gets assigned if the first is not true. Your code is evaluating both cases every time.
And since you are using a variable LASTDATE that should only have a value when LAST.ID you only want them evaluated when LAST.ID. So consider
If Last.Id then do;
LastDate = AssessmentDate;
If LastDate = AssessmentDate then Session = 3; /*Last Session*/
if FirstDate = LastDate and AssessmentDate = EventDate = then session = 4; /*Only 1 session*/
else if firsthospdate NE assessmentdate_HW and firsthospdate=. and lasthospdate=. then Session = 2;
End;
April 27 – 30 | Gaylord Texan | Grapevine, Texas
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!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
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.
Ready to level-up your skills? Choose your own adventure.