data a;
input name $ ;
cards;
a
a
a
b
b
;
run;
proc sql noprint;
create table b as
select name, count(name) as total
from a
group by name;
quit;
proc sort data=a;
by name;
run;
data c;
set a;
by name;
if first.name then individua=1;
else individua+1;
run;
data d;
merge b c;
by name;
run;