Как я могу создать 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;
Другие вопросы по тегам