2月 9, 2011
SAS macro symbol table(1):常规应用
SAS macro语言中,理解宏变量(macro variables)的作用域(the scope)是十分重要的,宏变量的作用域决定着该变量的赋值(assign)及宏处理器(macro processor)对该变量的解析(resolve)。所有的宏变量均存储于符号表(symbol table)中,其分为全局(global)和局部(local)两种。
本文将对SAS macro语言中symbol table的概念及常规应用,结合SAS ADV认证中的一些习题做一些简单的梳理。
1.基本概念
Global symbol table
- global symbol table在SAS启动(SAS section)的开始就被创建,其默认存储着所有的自动宏变量(automatic macro variables)如sasdate9,sasday等(除了saspbuff之外)。其也可以存储用户自己定义的宏变量。
- 默认情况下,存储于global symbol table中的宏变量——global macro variables,存在于整个SAS section中,并可以在SAS程序中的任何地方(除了datalines/cards中)被引用(resolved)。
Local symbol table
- local symbol table在一个包含着宏变量的宏程序执行开始时,才被创建,该宏程序执行结束后,相应的local symbol table自动被清除。
- 默认情况下,存储于local symbol table中宏变量——local macro variables,仅可以在与该local symbol table对应的宏程序中被引用。
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,网上流传的部分版本,其部分答案有误。
最后,欢迎指正和补充~
继续阅读