BookmarkSubscribeRSS Feed
DanD
Calcite | Level 5
I want to select one row for each id based on the min(date). My data looks like this:

id code date
1 38 200912
1 AG 201010
2 17 200911
2 09 200910
2 36 201010
3 12 201009

The result set should look like this:
1 38 200912
2 09 200910
3 12 201009

How do I do this?

Thanks,

Dan
5 REPLIES 5
Reeza
Super User
Two step proc sort.

proc sort data=have;
by id descending date;
run;

proc sort data=have nodupkey out=want dupout=duplicates;
by id;
run;

OR the second step can be the one below.

data first;
set have;
by id;
if first.id then output;
run;
DanD
Calcite | Level 5
Those worked great. Thanks Reeza.
DBailey
Lapis Lazuli | Level 10
one step, if you don't mind potential duplicates:

proc sql;
select
t1.id,
t1.code,
t1.date
from
work.tabA t1
where
t1.date=(select min(date) from work.tabA where id=t1.id);
quit;
DanD
Calcite | Level 5
I tried it but you were right, it did have a few dupes. I need to have only one row per id. Reeza's code in an above message worked for what I need. Thanks for replying.
Ksharp
Super User
[pre]
data temp;
input id code $ date ;
cards;
1 38 200912
1 AG 201010
2 17 200911
2 09 200910
2 36 201010
3 12 201009
;
run;
proc sql;
select *
from temp
group by id
haveing date eq min(date)
;
quit;
[/pre]




Ksharp

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
  • 5 replies
  • 8736 views
  • 0 likes
  • 4 in conversation