Почему этот макрос работает? (да) Цикл может начаться, несмотря на то, что переменная 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;