Hi All,
Can someone tell me how to get the duplicate value within by group. Thanks,
ID Subject
100 English
100 Math
100 Biology
111 English
111 Biology
111 Math
111 Math
111 Biology
112 Chemistry
112 English
112 Physics
112 Math
112 English
Outpu table will be:
ID Subject
111 Biology
111 Biology
112 English
112 English
proc sort data=have;
by id subject;
run;
data dups;
set have;
by id subject;
if not (first.subject and last.subject) then output;
run;
proc sort data=have nodupkey dupout=dups; by id subject; run;
Proc Sort identifies one of the duplicate records not both.
If you want to identify both using PROC SORT use the NOUNIQUEKEY option instead.
proc sort data=have nouniquekey out=want;
by id subject;
run;
proc print data=want;
run;
Or:
proc sort data=have out=nondups dupout=want nodupkey; by id subject; run;
This will give you a dataset want which has all the duplicate values, you can sort it again nodupkey to get distinct values, also you do:
proc sql;
create table WANT as
select distinct ID,SUBJECT
from HAVE
group by ID,SUBJECT
having count(*) > 1;
quit;
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.