单独的宏变量赋值,则不能直接进行计算,
%let x=5;
%let y=&x+1;
%let z=%eval(&x+1);
%put &x &y &z;
5 5+1 6
如果在宏里面为什么就可以进行计算
%macro test;
%let x=5;
data test;
x=&x.;
y=&x+1;
z=%eval(&x+1);
run;
%mend;
%test;
dataset test 里面会显示x=5 y=6 z=6
而且log里面没有字符转换的信息