在sas里经常要运行一些大型程序,这些程序有时会耗费数小时,而其log文件也有数千甚至数万行,sas的log中虽然有错误提示,但是在数万行log中需要查找error也是要花费一定时间的,如果有错误的话这个查错的时间还是花的值,如果没有错误的话这个查错时间就不值了。另外,对于一些经常运行的程序,为了更好的安排程序运行效率,那么程序运行时间是一个非常有用的参考指标。为了满足上面两个功能需求,这个macro就应运而生了。
程序名称:%atstart ;
%atend;
程序使用方法:用上面的两个macro包夹运行的程序即可。举例说明一下
%atstart;
data aa ;
merge bb (in = a )
cc(in = b );
by xx;
if a and b ;
run;
%atend;
这个就是典型应用例子,这对macro的作用就是测量一下中间数据步合并所需要的时间并且返回一个程序运行结果代码。
程序输出:1.程序运行的时间间隔,
2.程序运行结果代码,0为正常,无错误;4为正常,但是有warning 一般是数据集中变量自动删除等非致命性警告;1020,3000,9999这三个为致命性错误,需要排查错误了。对于0,和4的话,则不需要排查错误。
相信使用这对macro会方便一些。