2

我正在尝试为我的 SAS 数据集中的每条记录创建一个文件。我已经能够通过使用“newfile = page”选项使用SAS ODS输出成功地做到这一点,然后简单地在数据集上运行一个proc报告。我遇到的问题是这会导致通用的、按顺序编号的文件名(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;
4

1 回答 1

0

你需要一个宏

%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;
于 2015-09-30T16:00:15.443 回答