data have;
input id mnth_year @10 categ_var1 $3. @14 categ_var2 $3.;
cards;
1 201301 abc
1 201302 ghi
1 201303 def ghi
2 201301 xyz jkl
2 201302 def jkl
;
run;
data want;
categ_var2_abc_ind=0;
do until(last.id);
set have;
by id;
if not missing(categ_var1) and not found then do;
first_categ_var1=categ_var1;
found=1;
end;
if categ_var2='abc' then categ_var2_abc_ind=1;
end;
drop categ_var1 categ_var2 found;
run;
... View more