2月 14, 2011
SAS macro symbol table(2):特殊规则
上篇对macro symbol table的常规应用进行了简单的梳理,本篇对如call symput的非宏语言在建立宏变量时symbol table的特殊规则进行梳理。
1.the into : operator in PROC SQL
“into :”算符并不不属于宏语言,但是其定义宏变量的过程基本与使用%let相同:先由当前local,再向上级直到global中搜寻所定义的宏变量是否存在,再进行相应的处里。参见SAS macro symbol table(1)。
style=”text-align: center;”>需要了解的是,在proc sql执行过程中,会自动产生三个包含该proc sql过程信息的宏变量:sqlobs、sqlrc和sqloops,如下:
- SQLOBS: set to the number of rows produced with a SELECT statement.
- SQLRC: set to the return code from an SQL statement.
- SQLOOPS: set to the number of iterations of the inner loop of PROC SQL.
合理的使用以上三个宏变量,对程序的编写可以起到很好的作用。
继续阅读
1月 27, 2011
关于SAS学习的一些整理和分享
第一篇日志,将自己学习SAS以来个人认为比较好的一些东西,和大家分享一下。也感谢各坛子上让我学习受益了很多的各位前辈~ :-)
- SAS电子资料下载
- freebookspot和eBooks & eLearning in avaxhome是个人感觉最好的两个的英文资料下载站,书籍资源丰富,免费,无需注册,SAS相关书籍也很多。
- 在SAS官网的SAS Documentation Example Code and Data上可以下载SAS官方出版的书籍、文档的随书代码和数据集。
- SAS的一些官方pdf文档(内容和help文档类似),如SAS 9.2 Language Reference Concepts,SAS 9.2 Macro Language Reference,直接在google上输入“filetype:pdf XXX”很方便可以下载。
- 国内下载站推荐爱问的共享资料版,资源比较丰富,且大部分不要积分也可以下载。
- SAS认证
首先,个人感觉SAS认证考一下还是挺好的,准备过程中能比较系统的了解和学习一下SAS。当然,平时不用的话忘得非常快,编程能力也得靠自己多练,我这方面就太菜了。。。- SAS Base:个人觉得直接使用SAS Online Tutor For Base Programming (网页版)比较好,可以边看边练手(注,tutor网页版的“Producing Graphical Reports”不在考试范围内);还有The Little SAS Book (4th Edition)很经典;习题有SAS Base 50/70/123等;其他的如SAS Programming 1/2/3视情况而定,可看可不看吧。
- SAS Adv:同样推荐看SAS Online Tutor Advanced Programming(网页版),但是网页版没有“Optimizing SAS Programs”部分,需要看SAS Certification Prep Guide-Advanced Programming for SAS9(pdf版);习题有SAS Adv 50/63/130等。
- SAS Shortcuts
- 代码注释(comments),CTL+/
- 取消注释(comments),CTL+SHIFT+/
- 添加标记(bookmark),CTL+F2
- 括号 ( ) 匹配,CTL+]、CTL+[
- 按F9可以查看keys,并可根据自己喜好定义快捷键,如设置“ALT F3”为“clear log;clear output;wpgm;”,即清空日志和输出窗口、激活增强型编辑器。
- 在coding时可以通过“Tools—Add Abbreviation”定义缩写,如定义缩写为“pp”、缩写的插入文本为“proc print; run;”;并可以用“Tools—Keyboard Macros—Macros”对所定义的缩写进行编辑、修改。
- Others
ps:若一味的搜集资料,只会心浮气躁,还可能会被淹死,要自我调节好啊~ :-)
注:我是2010年12月在长沙考完的,题型大部分如SAS BASE 70和SAS ADV 63,网上流传的部分版本,其部分答案有误。
最后,欢迎指正和补充~
继续阅读