BookmarkSubscribeRSS Feed
☑ This topic is solved. Need further help from the community? Please sign in and ask a new question.
NewUsrStat
Pyrite | Level 9

Hi guys, 

suppose to have the following: 

 

ID               Year         

 A              2018

 A              2018

 A              2020

 A              2020

 A              2021

 B              2020

 B              2020

.......           .............

 

Is there a way to get the following? 

 

ID               Year         

 A              2018

 B              2020

.......           .............

 

Meaning: if ID has more than one year like "A" then take the most ancient and take it one time; if ID has more records of the same year, then take the ID and the relative year one time. 

 

Thank you in advance

 

1 ACCEPTED SOLUTION

Accepted Solutions
antonbcristina
SAS Employee

You can achieve this with a simple DATA step.

 

You'll first need to sort the data by ID and YEAR.

proc sort data=have;
 	by id year;
run;

Then use a DATA step with a BY statement, keeping only the first occurence of each ID. Since the data is sorted by ID and YEAR, you'll automatically keep the earliest occurence of each ID.

 

data want;
	set have; 
	by id;
	if first.id;
run;	

View solution in original post

1 REPLY 1
antonbcristina
SAS Employee

You can achieve this with a simple DATA step.

 

You'll first need to sort the data by ID and YEAR.

proc sort data=have;
 	by id year;
run;

Then use a DATA step with a BY statement, keeping only the first occurence of each ID. Since the data is sorted by ID and YEAR, you'll automatically keep the earliest occurence of each ID.

 

data want;
	set have; 
	by id;
	if first.id;
run;	

sas-innovate-2024.png

Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.

 

Register now!

Mastering the WHERE Clause in PROC SQL

SAS' Charu Shankar shares her PROC SQL expertise by showing you how to master the WHERE clause using real winter weather data.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 1 reply
  • 321 views
  • 1 like
  • 2 in conversation