这样可以吗?
[code:211nugzd]data a;
input major index $ a b c ;
cards;
1 a 1 0 1
2 b 0 1 1
3 a 0 0 1
4 c 1 1 0
;
run;
data b;
set a;
array vars{*} a b c;
do i=1 to dim(vars);
if vname(vars[i])=index then vars[i]+999;
end;
drop i;
run;
proc print;run;[/code:211nugzd]