Try this
data have ;
infile cards ;
input ob $ target ;
cards ;
a 1
a 0
a 1
a 1
a 1
a 1
b 0
b 1
b 1
b 1
b 1
;
run ;
proc sort in=have out=srtd ;
by ob ;
run ;
data want ;
retain target_1 target_2 ;
set have ;
by ob ;
if first.ob then do ;
target_1=0 ;
target_2=0 ;
end ;
sumlast3=sum(target,target_1,target_2) ;
if sumlast3=3 then hit=1 else hit=0 ;
target_2=target_1 ;
target_1=target ;
output ;
run ;