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 ![]()
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
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.