使用自定义文件名将数据从 SAS 导出到 Excel

Exporting data from SAS to Excel with a custom file name

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

in_C000000_013117_65201.csv

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

如果您能提供任何帮助,我们将不胜感激!

谢谢!

这是我过去编写的修改过的宏,它几乎完全符合您的要求。如果您想用所需格式的日期替换 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