Help using Base SAS procedures

How to separate and store unique and duplicate records in two different datasets using proc sort

Accepted Solution Solved
Reply
New Contributor
Posts: 3
Accepted Solution

How to separate and store unique and duplicate records in two different datasets using proc sort

data excess;

input id n1;

cards;

10 10

10 20

10 20

10 30

10 40

10 40

10 50

;

run;

now using proc sort separate and store  only unique records in dataA and all other records in dataB .


Accepted Solutions
Solution
‎10-05-2014 12:45 PM
PROC Star
Posts: 7,356

Re: How to separate and store unique and duplicate records in two different datasets using proc sort

I think that the following will achieve what you want:

proc sort data = excess ;

  by id n1;

run;

data want dups;

  set excess;

  by id n1;

  if first.n1 and last.n1 then output want;

  else output dups;

run;

View solution in original post


All Replies
Trusted Advisor
Posts: 1,128

Re: How to separate and store unique and duplicate records in two different datasets using proc sort

try

proc sort data = excess out=wantdupout=dups nodupkey;

by id n1;

run;

the want dataset have unique records and dups have all other records. Hope this helps.

Thanks,

Jagadish

Thanks,
Jag
New Contributor
Posts: 3

Re: How to separate and store unique and duplicate records in two different datasets using proc sort

dataset want should be like this

id        n1

10     10

10     30

10     50

and dataset dups

id    n1

10      20

10      20

10      40

10      40

Trusted Advisor
Posts: 1,128

Re: How to separate and store unique and duplicate records in two different datasets using proc sort

Thanks for providing the desired output. please try

dups dataset has duplicate records and unique will have unique records.

proc sort data=excess out=dups UNIQUEOUT= unique NOUNIQUEKEY;

by id n1;

run;

Thanks,

Jag

Thanks,
Jag
Solution
‎10-05-2014 12:45 PM
PROC Star
Posts: 7,356

Re: How to separate and store unique and duplicate records in two different datasets using proc sort

I think that the following will achieve what you want:

proc sort data = excess ;

  by id n1;

run;

data want dups;

  set excess;

  by id n1;

  if first.n1 and last.n1 then output want;

  else output dups;

run;

New Contributor
Posts: 3

Re: How to separate and store unique and duplicate records in two different datasets using proc sort

thanks Smiley Happy

☑ This topic is SOLVED.

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

Discussion stats
  • 5 replies
  • 1387 views
  • 0 likes
  • 3 in conversation