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

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 Super FREQ

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 Super FREQ

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;	

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

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