列出SAS步骤创建的所有输出

时间:2017-08-29 05:20:46

标签: sas

有没有办法获得SAS中步骤(迭代)创建的所有输出(数据集/文件)的列表? 我尝试使用自动变量,但我能得到的是使用& syslast和& sysdsn变量的最后创建的数据集。但是,如果数据步骤创建多个数据集呢?如何在不使用任何列表等关键字的情况下在SAS中自动获取其名称/详细信息?有可能吗? 请建议! 谢谢!

2 个答案:

答案 0 :(得分:0)

我不相信这是可能的。我能想到的唯一方法是在数据步骤/迭代之后解析日志。

为此你可以使用类似的东西:

/* set up a fresh log prior to your iteration */
%let logloc=%sysfunc(pathname(work))/mylog.txt;
proc printto log="&logloc" new;
run;

/* run your iteration */
data mystep with lots of output datasets;
  set something;
run;

/* return to normal logging */
proc printto log=log; 
run;

data _null_;
  infile "&logloc";
  input;
  if _infile_=:'data' then do;
    /* perform log scanning */
    /* will likely need some complex logic to be robust!*/
  end;
run;

答案 1 :(得分:0)

PROC SCAPROC将在日志中报告此情况,但需要注意的是您必须首先运行该过程,然后才能获得输出。