在数据步骤执行期间实时打印到SAS日志

时间:2017-01-20 23:44:08

标签: sas

有没有办法让putputlog语句实时更新日志窗口(即在执行datastep时)?

我有一个特别长的datastep正在执行,我希望能够监控进度。在下面的示例中,当datastep完成执行时,我将put语句写入日志。

示例代码:

data x;
  do i = 1 to 1000000 * 100;
    output;
    if mod(i,1000000 * 10) eq 0 then do;
      put i;
    end;
  end;
run;

编辑:我在Windows 10上运行SAS 9.4 TS1M4。只是常规编辑器,而不是EG。

1 个答案:

答案 0 :(得分:0)

在企业指南中:SAS应在执行每个datastep /过程后向日志输出消息,注释,警告和错误。

在Interactive Base SAS(9.4M5)中:您可以使用putlog语句,并可以将消息和变量值输出到日志中,请参阅下面的示例代码:

data _NULL_;
%let ds=%sysfunc(datetime(),datetime23.);
putlog "Note: Start time is &ds.";
sleep_time=sleep(10,1);
putlog "Note: Another messge here " sleep_time=;
run;

实时输出:

Note: Start time is 08MAY2018:13:58:26
Note: Another messge here sleep_time=10