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;
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!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
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.
Ready to level-up your skills? Choose your own adventure.