什么是打破BASE SAS中不平衡报价条件的最佳方法?

Mar*_*und 10 quotes base sas

作为基础SAS程序员,您知道这个练习:

你提交的SAS代码包含一个不平衡的引用,所以现在你不仅得到了未公开的引用,还有未公开的注释,宏函数定义和缺失的运行; 或者退出; 声明.

没有那些不平衡的报价打扰你的最佳伎俩是什么?

Mar*_*und 7

至于我自己,我平时谷歌为"SAS不平衡报价",并最终在提交类似这样:

*); */; /*’*/ /*”*/; %mend;
Run Code Online (Sandbox Code Playgroud)

......打破未公开的评论,报价和宏观功能.


AFH*_*ood 5

这是我使用的那个.

 ;*';*";*/;quit;run;
 ODS _ALL_ CLOSE;
 QUIT; RUN;
Run Code Online (Sandbox Code Playgroud)


Cha*_*ung 5

企业指南 3 用于将以下行放在其自动生成的代码的顶部:

*';*";*/;run;
Run Code Online (Sandbox Code Playgroud)

然而,真正从各种不平衡问题中“重置”的唯一方法是退出 sas 会话,并在重新提交代码之前平衡任何不平衡的东西。使用这种快速(便宜?)黑客并不能解决根本原因。

顺便说一下,ods _all_ close;关闭所有ods 目标,包括默认的结果目标。在交互式会话中,您应该使用ods results;ods results on;至少根据文档再次打开它。但是当我在我的 9.2 上测试它时,它不起作用,如下所示:

%put sysvlong=&sysvlong sysscpl=&sysscpl;
/* sysvlong=9.02.01M0P020508 sysscpl=X64_VSPRO */

ods _all_ close;
proc print data=sashelp.class;
run;
/* on log
WARNING: No output destinations active.
*/

ods results on;
proc print data=sashelp.class;
run;
/* on log
WARNING: No output destinations active.
*/
Run Code Online (Sandbox Code Playgroud)