data test01;
input var1 $ var2 $;
cards;
A z
A y
A x
A 6
B s
B d
C f
C g
C h
;run;
data test02;
set test01;
fid + 1;
run;
proc sort data = test02;
by var1 descending fid;
run;
data new1(drop = fid flag)
new2(drop = fid flag) ;
retain flag 0;
set test02;
by var1;
if first.var1 and var2 = '6' then flag = 1;
if flag = 1 then output new1;
else output new2;
if last.var1 then flag = 0;
run;