to vicky1020: learn a lot from you, thank you!
And I have not found other code besides the following trivial code.
[code:swajljf9]
data out(keep=a b c);
set raw end=last;
by a;
if first.a then do;
array raw{2} b c;
array temp{2};
do i=1 to 2;
temp[i]=raw[i];
end;
index=_n_+1;
set raw point=index;
if 0<ranuni(123)<=0.5 then raw[2]=temp[2];
else do;
raw[1]=raw[2];
raw[2]=temp[2];
end;
end;
output;
if last then stop;
run;
[/code:swajljf9]