/*方式一*/
%let x=5; %let y=test;
%put &x &y;/*方式二*/
data _null_; call symput('x',5);
call symput('y','test');
run;
%put &x &y;/*方式三*/ /*若有多条记录,只取第一条的值*/
proc sql noprint;
select min(weight),max(weight) into:minw,:maxw
from sashelp.class;
quit;
%put &minw &maxw;/*根据创建多个宏变量并赋值,超过记录数范围的不会创建*/
proc sql noprint;
select name, age into :name1 - :name99999999,:age1 - :age99999999 from sashelp.class;
quit;
%put &sqlobs;
%put &name1 &age1;
%put &name2 &age2;
%put &&name&sqlobs &&age&sqlobs;
%put &name100 &age100;/*这两个宏变量并没有创建,执行时会报warning*/
/*拼接字段值,赋给一个宏变量*/ proc sql noprint inobs=5; select name into:names separated by ',' from sashelp.class; quit;