Как я могу создать HTML-файлы SAS с именами, соответствующими полю набора данных
Я пытаюсь создать файл для каждой записи в моем наборе данных SAS. Я смог успешно сделать это, используя вывод SAS ODS, используя опцию "newfile = page", а затем просто запустив отчет по протоколу набора данных. Проблема, с которой я столкнулся, заключается в том, что это приводит к появлению общих, последовательно пронумерованных имен файлов (test, test1, test2 и т. Д.). Я хотел бы назвать каждый файл на основе переменной в наборе данных. В приведенном ниже примере я хотел бы, чтобы имена файлов были названы на основе "seq_nbr" в наборе данных.
ods html path = "C:\test\"
file = 'test.html'
contents = 'contents.html
frame = 'frame.html'
code = (url="C:\test\javascript.js")
newfile=page;
proc report data = test2 nowindows headline headskip;
column tDate tTime created_by cmtText;
by seq_nbr;
run;
1 ответ
Решение
Вам нужен макрос для этого
%macro doit;
proc sql;
select count(*) into :n from test2 ;
quit;
%do i=1 %to &n;
data _null_;
if _n_=&i call symput('name',seq_nbr);
run;
proc export data=something outfile="&name";
run;
%end;
%mend;
%doit;