Hi All,
Is there a way to remove duplicate on all data except few that I am not interested in.
In the following table I want to remove the duplicate, but I want to exclude where the Course_ID=Eng. Can somebody help please. Thanks.
Table1:
Student_ID Course_ID
101 Eng
102 Bio
102 Geo
102 Bio
102 Geo
101 Eng
PROC SORT DATA= table1
OUT = want
NODUPKEY DUPOUT= have_DUPDEL;
BY Student_ID Course_ID;
RUN;
Output:
Student_ID Course_ID
101 Eng
101 Eng
102 Bio
102 Geo
data have; input Student_ID Course_ID $; cards; 101 Eng 102 Bio 102 Geo 102 Bio 102 Geo 101 Eng ; run; PROC SORT DATA= have OUT = temp; BY Student_ID Course_ID; RUN; data want; set temp; by Student_ID Course_ID; if first.Course_ID or Course_ID='Eng'; run;
data vtemp / view=vtemp;
set have;
if course_id='Eng' then keepdup=_n_;
run;
proc sort data=vtemp out=want (drop=keepdup) nodupkey DUPOUT= have_DUPDEL ;
by student_id course_id keepdup;
run;
data have; input Student_ID Course_ID $; cards; 101 Eng 102 Bio 102 Geo 102 Bio 102 Geo 101 Eng ; run; PROC SORT DATA= have OUT = temp; BY Student_ID Course_ID; RUN; data want; set temp; by Student_ID Course_ID; if first.Course_ID or Course_ID='Eng'; run;
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.