SAS let声明:参考单元格值?

Plu*_*ug4 1 sas let

在SAS中,是否可以将%let语句引用到位于数据库中的值?

例如,my n in的值%let n=50取决于我的一个数据库中计算的某个值,例如,第一行加第一列.由于该值在我的循环中被修改了100次,我不想手动输入该值.

itz*_*tzy 6

有几种方法可以做到这一点.这是两个:

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)