全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2726 5
2012-12-13

宏错误是如何产生的,如何避免并更正

Macro Bugs - How to Create, Avoid and Destroy Them


<SPAN style="FONT-FAMILY: 宋体; COLOR: #555555" p

好的宏的开发比一般的简单的SAS代码开发要困难得多,以下原因使得更加难以对宏进行测试:

宏所生成的不同版本的SAS代码可能会出现错误

程序的错误可能是编写的代码引起的,也可能是宏生成的代码引起的

SAS将宏代码作为文本进行处理,因为我们更难以通过SAS系统对宏进行测试

对于不同的程序,你想要生成的SAS代码也不尽相同


SAS Macro Debug宏测试的一般原理是:首先要了解SAS宏的运行机理,并且如果出现错误,一定要想到是你的代码有问题。更具体地说:首先要看到哪里报了错,然后定位到这个错误,然后理解并修正这个错误。


除了SAS代码的一般错误外,SAS Macro宏变量在传递参数的过程中,也可能会产生错误。另外,对于SAS Macro宏编程来说,程序员要处理两种语言,SAS语言和宏语言,这两种语言的编译和执行的时间不一样,如果理解得不透彻也容易产生错误。


1 时间问题

SAS宏代码执行时有四个时间:

宏编译时间:%MACRO和%MEND之间的代码被读取

宏执行时间:宏编译后生成SAS代码

SAS编译时间:生成的SAS代码进行编译

SAS执行时间:编译后的SAS代码的执行


2 下面来讲一些时间问题的经典案例:


由于字数过多,有附件。第一次发帖,支持支持~

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2012-12-14 09:13:42
好好学习一下~~
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-12-14 10:01:23
这个还是很有用的,对于宏的理解有帮助
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-12-14 11:31:16
不错,中文部分辛苦了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-1-10 12:16:11
学习
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2021-8-4 20:06:25
不错,学习了。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群