使用自定义文件名

时间:2017-01-31 14:52:41

标签: sas filenames export-to-excel excel-2013

我需要将数据集从SAS导出到Excel 2013作为.csv文件。但是,我需要文件名是动态的。在这种情况下,我需要它显示为:

in_C000000_013117_65201.csv

字符串," in_C000000 _"将保持不变,字符串" 013117 _"将是当天的日期,字符串" 65201"将是数据集本身的行数。

非常感谢您提供的任何帮助!

谢谢!

1 个答案:

答案 0 :(得分:0)

这是我过去写的一个修改过的宏,几乎完全符合你的要求。如果您想将sysdate替换为所需格式的日期,那么这也很容易做到:

%let path = [[desired destination]];

%macro exporter(dataset);

    proc sql noprint;
        select count(*) into: obs
        from &dataset.;
    quit;

    data temp;
        format date mmddyy6.;
        date = today();
    run;

    proc sql noprint;
        select date format mmddyy6. into: date_formatted
        from temp;
    quit;

    proc export data = &dataset.
        file = "&path.in_C000000_&date_formatted._%sysfunc(compress(&obs.)).csv"
        dbms = csv replace;
    run;

%mend exporter;

%exporter(your_dataset_here);

以以下格式生成数据集:in_C000000_020117_50000.csv