BookmarkSubscribeRSS Feed
mar0000
Obsidian | Level 7
data have;
input Patient_ID $   date  Date9.     Activity $ ;
format date date9.;
datalines;
1234 20FEB2020 Football 
1234 20FEB2020 Basketball 
1234 25FEB2020 Ski 
1234 07SEP2020 Baseball 

 How would I create a variable that says 'Y' to the first line that has patient 1234 playing football, and 'N' to person 1234 playing basketball because they are playing on the same day. I want to say 'Y' to person 1234 on 25FEB2020 and 'Y' for patient 1234 on 07SEP2020. 

 

1 REPLY 1
andreas_lds
Jade | Level 19

So you want to flag the first observation for each Patient_ID and date with "Y" and any other observation with "N"? Assuming that the data is sorted by Patient_ID and date:

data want;
	set have;
	by Patient_ID date;
	
	length status $ 1;

	status = ifc(first.date, 'Y', 'N');
run;

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

Develop Code with SAS Studio

Get started using SAS Studio to write, run and debug your SAS programs.

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
  • 1 reply
  • 801 views
  • 1 like
  • 2 in conversation