data aaa;
input x$;
cards;
a
b
a
c
b
c
c
.
;
run;
data aaa;
set aaa;
id=_n_;
run;
proc sort data=aaa out=aaasort;
by x;
run;
data aaasort;
set aaasort;
by x;
if missing(x) then y=.;
else if not missing(x) then if first.x=1 then y+1;
output;
run;
proc sort data=aaasort out=aaa;
by id;
run;
data aaa;
set aaa;
drop id;
run;