data have;
input id Cd $ flg $ DATE1 DATE9. ;
format date1 date9.;
datalines;
11 chg b 13apr2019
11 chg i 11apr2019
12 chg e 6may2017
13 chg b 5jun2019
14 add d 4mar2019
14 chg y 1jan2019
;run;
I want to eliminate all rows where the number of rows per id is more than 1. So In this example I would eliminate 11 and 14 and only keep 12 and 13. Using a proc sort nodupkey would not work in this case.
So only keep the IDs that do NOT have multiple rows?
data want;
set have;
by id;
if first.id and last.id;
run;
data have;
input id Cd $ flg $ DATE1 DATE9. ;
format date1 date9.;
datalines;
11 chg b 13apr2019
11 chg i 11apr2019
12 chg e 6may2017
13 chg b 5jun2019
14 add d 4mar2019
14 chg y 1jan2019
;
proc sort data=have nouniquekeys uniqueout=singles ;
by id;
run;
Available on demand!
Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.
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.