在增强编辑器中,着色可能会给你一个提示。但是,在大型机上我不相信编辑器中有任何可以帮助你的东西。
我用
OPTIONS OBS=0 noreplace;
obs = 0选项指定从输入读入0个观察值 数据集和NOREPLACE告诉SAS不要用其中一个覆盖现有的SAS数据集 一样的名字。如果要创建新的datastet,将使用所有属性创建它, 但有0个观察结果。 (如果需要,请务必将选项重置为选项Obs = max replace;当找不到更多语法错误时)。
我对任何其他技术感兴趣。 感谢
有关选项的说明来自here.
答案 0 :(得分:16)
我在run语句中使用cancel选项。它将检查数据步骤的语法,然后在不实际执行的情况下终止它。这是与proc sql中的noexec
选项类似的数据步骤。
data something;
<stuff here>
run cancel;
中有更多详细信息
答案 1 :(得分:-1)
我在PC上使用SAS和增强的彩色编码器编写我的所有代码。然后我使用SAS / CONNECT在大型机上处理它。如果数据集在DASD上,我使用SAS / CONNECT和Enterprise Guide直接在大型机上运行代码(没有JCL!)如果涉及数据磁带,因此必须批量运行,我使用SAS / CONNECT和SAS ftp引擎将代码发送到主机批处理队列。我使用SAS电子邮件引擎将我的输出和日志通过电子邮件发回给我。我把我的代码和ODS夹在一起,让大型机为输出生成一个WORD文件。我使用PROC下载将输出下载到我的服务器,以便我可以在WORD中打开它。
答案 2 :(得分:-1)
这个建议与语言无关。
我认为捕获语法(和逻辑)错误的一种更好的方法是对您自己的代码执行近距离读取(或检查)(应该捕获大部分语法错误),然后对小数据集进行单元测试(如果你的测试设计得很好,它将捕获任何剩余的语法错误,以及许多逻辑错误)。
我同意单独进行语法检查是值得的,但是在第一次编译之前要彻底阅读和理解你的代码,这样你知道它会编译是一个很好的理想。 Steve McConnell在Code Complete中触及了这个想法(参见第2版第827页)。
P.S。你在原帖中提到了语法高亮;还有其他编辑器(如VIM)将在SAS文件上执行语法高亮显示。