2月 14, 2011

Posted in | 1 条评论

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

Posted in 分享 | 10 条评论

关于SAS学习的一些整理和分享

第一篇日志,将自己学习SAS以来个人认为比较好的一些东西,和大家分享一下。也感谢各坛子上让我学习受益了很多的各位前辈~ :-)

  • SAS电子资料下载
    1. freebookspoteBooks & eLearning in avaxhome是个人感觉最好的两个的英文资料下载站,书籍资源丰富,免费,无需注册,SAS相关书籍也很多。
    2. 在SAS官网的SAS Documentation Example Code and Data上可以下载SAS官方出版的书籍、文档的随书代码和数据集。
    3. SAS的一些官方pdf文档(内容和help文档类似),如SAS 9.2 Language Reference Concepts,SAS 9.2 Macro Language Reference,直接在google上输入“filetype:pdf XXX”很方便可以下载。
    4. 国内下载站推荐爱问的共享资料版,资源比较丰富,且大部分不要积分也可以下载。
  • ps:若一味的搜集资料,只会心浮气躁,还可能会被淹死,要自我调节好啊~ :-)

  • SAS认证
    首先,个人感觉SAS认证考一下还是挺好的,准备过程中能比较系统的了解和学习一下SAS。当然,平时不用的话忘得非常快,编程能力也得靠自己多练,我这方面就太菜了。。。

    1. 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视情况而定,可看可不看吧。
    2. SAS Adv:同样推荐看SAS Online Tutor Advanced Programming(网页版),但是网页版没有“Optimizing SAS Programs”部分,需要看SAS Certification Prep Guide-Advanced Programming for SAS9(pdf版);习题有SAS Adv 50/63/130等。
  • 注:我是2010年12月在长沙考完的,题型大部分如SAS BASE 70和SAS ADV 63,网上流传的部分版本,其部分答案有误。

  • SAS Shortcuts
    1. 代码注释(comments),CTL+/
    2. 取消注释(comments),CTL+SHIFT+/
    3. 添加标记(bookmark),CTL+F2
    4. 括号 ( ) 匹配,CTL+]、CTL+[
    5. 按F9可以查看keys,并可根据自己喜好定义快捷键,如设置“ALT F3”为“clear log;clear output;wpgm;”,即清空日志和输出窗口、激活增强型编辑器。
    6. 在coding时可以通过“Tools—Add Abbreviation”定义缩写,如定义缩写为“pp”、缩写的插入文本为“proc print; run;”;并可以用“Tools—Keyboard Macros—Macros”对所定义的缩写进行编辑、修改。
  • Others
    1. 对于SAS出现中文乱码的情况,可以通过修改cfg文件来正确显示,参见这里
    2. 实用SAS编程技巧25招(胡江堂译注版),参见这里
    3. SAS_Dream的《SAS语言管窥》和《关于SAS的零碎印象》,saslist.net 里有。
    4. 我们是如何招聘SAS分析员的,参见这里
    5. 成为一个优秀的SAS分析员必备的五种能力,参见这里

最后,欢迎指正和补充~

继续阅读
返回顶部