【发布时间】:2018-03-02 21:42:49
【问题描述】:
为什么这个宏有效? (确实如此)循环能够开始,尽管nrows 变量是在循环内的set 语句中定义的。 SAS 在开始循环之前是否读取了 set 语句?在哪里可以找到有关此问题的文档(循环内的哪些语句(如果有)在循环开始之前执行)?
%macro get_last_n_rows(n, existing, new);
data &new.;
do _i_ = 1 + nrows - &n. to nrows;
set &existing. point = _i_ nobs = nrows;
output;
end;
stop;
run;
%mend get_last_n_rows;
【问题讨论】: