У меня есть образец набора данных, и я пытаюсь создать новый набор данных из каждого наблюдения (записи) с помощью цикла выполнения.
вот пример кода:
data tst;
input a b;
datalines;
1 2
2 3
;
run;
data ds1 ds2;
set tst
/*point = point nobs = Nobs*/
;
do i=1 to 2;
call symput("i",i);
%put &=i;
if _n_ then output ds&i.;
end;
run;
Я смущен, почему &i.
не разрешается правильно. Похоже, что в журнале перед ним много места. Я попытался использовать функцию сжатия для ds&i.
, и это не сработало. Я знаю, что мог бы использовать макрос и сделать это без вызова symput(), но мне интересно, в чем проблема?
Идеальный выход:
DS1:
a b
1 2
DS2:
a b
2 3