我有一个如下的SAS程序,它试图检查某个文件是否存在。
%let testfile = \\some.network.share\SOMEFILE.CSV;
%macro findit;
%if %sysfunc(fileexist(&testfile)) %then %do;
%put The file exists! ;
%end;
%else %put The file does not exist! ;
%mend;
%findit;
我想按如下方式更改程序:如果找不到该文件,则应忽略SAS程序的其余部分以及Process Flow中的以下程序,并且分析应该在那里结束。
这可能吗?
答案 0 :(得分:0)
查看%goto的文档并使用如下:
%macro findit;
%if %sysfunc(fileexist(&testfile)) %then %do;
%put The file exists! ;
%end;
%else %do;
%put The file does not exist! ;
%goto exit;
%end;
%exit:
%mend;
请注意,目标%exit后面跟冒号,而不是分号。