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 .
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;
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
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
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
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;
thanks
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.