作为基础SAS程序员,您知道演练:打破BASE SAS中不平衡报价条件的最佳方法是什么?
您提交了包含不平衡报价的SAS代码,现在您不仅有不公开的报价,还有未封闭的评论,宏功能定义,并失踪;或退出;声明。
没有那些不平衡的引号打扰你,你最好的诀窍是什么?
作为基础SAS程序员,您知道演练:打破BASE SAS中不平衡报价条件的最佳方法是什么?
您提交了包含不平衡报价的SAS代码,现在您不仅有不公开的报价,还有未封闭的评论,宏功能定义,并失踪;或退出;声明。
没有那些不平衡的引号打扰你,你最好的诀窍是什么?
企业指南3用来放下面一行在其自动生成的代码顶部:
*';*";*/;run;
然而,真正从各种东西不平衡的问题“复位”的唯一方式是退出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.
*/
至于我自己,我平时Google for "SAS unbalanced quote",并与提交类似this结束:
*); */; /*’*/ /*”*/; %mend;
...打出来的结束的注释,报价和微距功能。
是的,我相信官方的SAS文档推荐您为自己提出的解决方案。
我相信已经看到一些包含”run“和/或”quit;“的单行解决方案,所以我想知道我的例子是否完整。 – 2008-09-22 18:41:19
您可以随时发出终止提交的语句命令并重新提交您尝试运行的内容。
How do你意思是?这是命令行代码? – 2009-04-29 21:25:56
这是我使用的一个。
;*';*";*/;quit;run;
ODS _ALL_ CLOSE;
QUIT; RUN;
我将此用作SAS中的注释 - 如果我遇到不平衡的报价问题,则输入`fix`返回此代码以快速解决问题 – Bendy 2015-05-21 12:13:52
只是想重申AFHood的建议,使用ODS _ALL_ CLOSE;
声明。这是包括的关键之一。无论如何,每次完成ODS时都要确保使用它。
我曾与不平衡报价的情况在宏唯一的解决办法是关闭SAS的实例,并重新开始。
我觉得这是SAS中不可接受的缺陷。
但是,我用BOTH#2和#5的方法,它工作。 #2第一,然后#1。我把它们放在所有代码之上,包括我的代码头文件,解释了这个程序在做什么。
工作就像一个魅力。
关闭SAS会议在我的情况下工作。我想你可以尝试一下,然后再尝试这里提到的其他方法。
%str(%“)派上用场 – 2009-04-29 21:24:47