【发布时间】:2012-06-20 20:07:57
【问题描述】:
在 SAS 中,是否可以将 %let 语句引用到位于数据库中的值?
例如,%let n=50 中 my n 的值取决于在我的一个数据库中计算的某个值,例如第一行加第一列。而且由于该值在我的循环中被修改了 100 次,我不想手动输入该值。
【问题讨论】:
在 SAS 中,是否可以将 %let 语句引用到位于数据库中的值?
例如,%let n=50 中 my n 的值取决于在我的一个数据库中计算的某个值,例如第一行加第一列。而且由于该值在我的循环中被修改了 100 次,我不想手动输入该值。
【问题讨论】:
有几种方法可以做到这一点。这里有两个:
proc sql;
select a+b into :n
from your_table
where some_condition;
quit;
这会使用变量a 和b 的总和来填充宏变量&n。您指定的条件应仅适用于表格的一行。
另一种方法:
data tmp;
set your_table;
if _n_=1 then do;
call symputn('n',a+b);
end;
run;
【讨论】: