Help using Base SAS procedures

Proc Sort and nodupkey to keep dups based on another variable

Accepted Solution Solved
Reply
Contributor
Posts: 39
Accepted Solution

Proc Sort and nodupkey to keep dups based on another variable

Hello,

 

So I have a dataset like below:

 

id_var     year     measures

1             2014               20

1             2015               20

2             2015               23

3             2014               17

 

 

And I want get rid of duplicate id_vars but KEEP the one with the year 2015. I know nodupkey gets rid of duplicates based on the by variable in proc sort, but i don't know how to reference the specific year value. Any help would be great.

 

Thanks.

 

 


Accepted Solutions
Solution
‎07-14-2016 05:16 PM
Super User
Posts: 19,772

Re: Proc Sort and nodupkey to keep dups based on another variable

Posted in reply to jacob_klimek

Double sort. 

Sort first with descending year, then sort with nodupkey. 

 

Proc sort data=have;

by id descending year;

 

proc sort data=have nodupkey;

by id;

run;

View solution in original post


All Replies
Super User
Posts: 19,772

Re: Proc Sort and nodupkey to keep dups based on another variable

Posted in reply to jacob_klimek

Double sort. 

Sort first with descending year, then sort with nodupkey. 

 

Proc sort data=have;

by id descending year;

 

proc sort data=have nodupkey;

by id;

run;

Solution
‎07-14-2016 05:16 PM
Super User
Posts: 19,772

Re: Proc Sort and nodupkey to keep dups based on another variable

Posted in reply to jacob_klimek

Double sort. 

Sort first with descending year, then sort with nodupkey. 

 

Proc sort data=have;

by id descending year;

 

proc sort data=have nodupkey;

by id;

run;

Contributor
Posts: 39

Re: Proc Sort and nodupkey to keep dups based on another variable

Oh wow, duh thanks. I guess I have been working too much in Stata...

☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 3 replies
  • 319 views
  • 0 likes
  • 2 in conversation