SAS代码在提交后停止运行,也不在日志中运行

时间:2014-06-06 08:45:16

标签: sas no-response

我正在编写一个SAS程序,它也使用了一些宏。但是,SAS突然停止运行我提交的代码。如果我选择并提交部分代码,我可以看到它复制在日志中,但就是这样。没有注释,错误或警告。代码也没有执行。如果代码是没有任何宏变量的简单数据步骤,则无关紧要。 我错过了什么吗?我应该检查或验证什么?

3 个答案:

答案 0 :(得分:9)

这听起来像是一个宏中不平衡报价的经典案例。运行下面的代码应该清除它,然后你需要检查错误的代码。

*); */; /*’*/ /*”*/; %mend;

答案 1 :(得分:1)

在宏编码期间,我发生了同样的问题,除了它是无法匹配的括号。问题代码的原始行是

“...%然后%let DLINE =%str(if(P ge 22和STAFF eq 0,然后STAFF = 1;);”

注意不匹配的“(”P变量前的字符。删除“(” 或者在“eq 0”之后添加“)”解决问题。

答案 2 :(得分:0)

我弄清楚为什么我也遇到了这个问题。

当我折叠所有宏代码(只是在项目代码的同一文件中的临时代码)时,重新运行它。

SAS实际上只是运行折叠的部分,所以它只是宏的第一行。

上面的代码解决了我的问题,但我还需要重新运行扩展的宏代码以避免将来出现错误。