楼主: a6566792
2776 5

[学习分享] SAS宏错误是如何产生的,如何避免并更正 [推广有奖]

  • 4关注
  • 5粉丝

已卖:3份资源

硕士生

51%

还不是VIP/贵宾

-

威望
0
论坛币
254 个
通用积分
0.1061
学术水平
18 点
热心指数
17 点
信用等级
16 点
经验
7842 点
帖子
216
精华
0
在线时间
124 小时
注册时间
2012-11-6
最后登录
2018-4-3

楼主
a6566792 在职认证  发表于 2012-12-13 14:52:49 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

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

宏错误的产生与解决.docx (22.79 KB)

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 下面来讲一些时间问题的经典案例:


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

二维码

扫码加我 拉你入群

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

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

关键词:SAS宏 Create Avoid creat Macro Create 如何 开发

已有 1 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
Imasasor + 24 + 12 + 1 + 1 + 1 奖励积极上传好的资料

总评分: 经验 + 24  论坛币 + 12  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

沙发
gaotao0727 发表于 2012-12-14 09:13:42
好好学习一下~~
衣带渐宽终不悔,为伊消得人憔悴~~

藤椅
a6566792 在职认证  发表于 2012-12-14 10:01:23
这个还是很有用的,对于宏的理解有帮助

板凳
slimdell 发表于 2012-12-14 11:31:16
不错,中文部分辛苦了
知乎专栏/微信公号同名:煮酒烹茶读书

报纸
kittyforever 发表于 2013-1-10 12:16:11
学习

地板
经管用户2020 发表于 2021-8-4 20:06:25
不错,学习了。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-25 14:53