停止SAS执行

时间:2013-08-16 19:52:04

标签: sas

快速提问

是否有一种单行(或相当简短)的方法可以通过窗口环境来取消执行其他SAS语句。

这些是我所知道的methods,但是他们很烦人,特别是在有大量评论的大型节目中。    我尝试了ABORTSTOP语句,但它们关闭了窗口环境,但我想要的只是在某一点停止执行并继续我的快乐方式。

由于

3 个答案:

答案 0 :(得分:7)

这种情况经常出现在SAS-L上。答案是,这主要取决于你在做什么。

如果您希望因错误而停止执行,run cancel方法可能是最好的。在程序的顶部,您可以:

%let cancel =; *or any macro variable name, but cancel is most logical;

然后在每个跑步步骤中你都有:

data whatever;
... do stuff ...;
run &cancel;

每当你遇到一些潜在错误时,你会检查错误情况,然后检查错误情况,%let cancel=cancel;并且你很好。

如果您使用的是宏,只要您不使用任何选项或仅使用%abort,就可以使用cancel顺利退出宏。根据您正在做的事情,您可以将代码设置为在宏(或宏)中运行并使用此选项(尽管缺点是会丢失一些日志清晰度)。

最后,如果您对能够运行代码的子集感兴趣,我建议您在多个SAS程序中编写代码,以获取可能要单独运行的位,然后使用%include主程序将它们与您可能想要设置的共享宏变量一起分组。这类似于在EG中如何构建许多较小的程序,然后使用流程图对它们进行分组。

答案 1 :(得分:1)

我使用了以下

%abort cancel;

答案 2 :(得分:0)

我也一直在寻找这一点-关于这一点的文档不好。反复试验(叹息...)。令人惊讶的是,这个未记录的功能对我有用:

data _null_ ;
  ABORT CANCEL ;
run ;

非常简单!此后什么也没执行,但是SAS应用程序仍然打开。