You can wrap it up into a string with macro functions embedded and use resolve to solve it in the same step.
data tmp;
a="5+sum(2.1,5.312)";
astr=catt('%sysevalf(', scan(a,1,'+'),'+%sysfunc(',scan(a,2,'+'),'))');
call symputx('avalue',astr);
b=input(resolve('&avalue'),best.);
put a b;
run;
proc print;run;
proc contents data=tmp;run;


雷达卡


京公网安备 11010802022788号







