在SAS中,是否可以将%let语句引用到位于数据库中的值?
例如,my n in的值%let n=50取决于我的一个数据库中计算的某个值,例如,第一行加第一列.由于该值在我的循环中被修改了100次,我不想手动输入该值.
有几种方法可以做到这一点.这是两个:
proc sql;
select a+b into :n
from your_table
where some_condition;
quit;
Run Code Online (Sandbox Code Playgroud)
这是一个宏变量,&n与变量a和的总和b.您指定的条件应仅对表的一行为true.
另一种方法:
data tmp;
set your_table;
if _n_=1 then do;
call symputn('n',a+b);
end;
run;
Run Code Online (Sandbox Code Playgroud)