SUGI27(2002)有一篇被广泛引用的文章,就两页纸,Doug Zirbel的10 Things Experienced SAS® Programmers Don’t Know – But Should(“SAS程序员不知道但必须知道的10件事”),题目挺拉风,讲的是对有经验的SAS程序员的一次非正式调查,要他们列出SAS程序员需要的一些技巧。其实一共列出了22条,当然前10条是最重要的:
1. Macros—basic knowledge of macro language——对SAS宏语言的基本了解。这里作者推荐的主打文档当然是SAS Manuals中的SAS Macro language,以及SAS Guide to Macro Processing,然后还有Little SAS Book和Carpenter's Complete Guide to the SAS Macro Language
2. Data Step—basic knowledge of data step——对SAS数据步的基本了解,参见一篇SUGI21的文章,Thomas Miron的The Secret Lift of the Data Step
3. Data file manipulation—INFILE, UPDATE, SET intricacies etc ——数据文件操作语句,如infile、update、set等
4. ODS——SAS输出传送系统(Output Delivery System)
5. Efficiency——编程效率
6. Data Step Vector—How it works——理解数据步的运行原理,参见2
7. Macros—Knowing how to write macros that write SAS programs——如何写宏语句
8. System Development Life Cycle process——这里讲软件开发流程了,作者甚至列出了Steve McConnell的代码大全(Code Complete),在程序员中流传甚广。
9. SAS Help—How to get it——利用SAS的联机帮助文档
10. Proc Report——程序步,设计报表
11. SQL Dictionary tables—basic of retrieving SAS metadata— 用SQL语句管理数据词典(原数据,metadata),可以参见Frank C. DiIorio 和Nancy J. Michal的Data about Data: An Introduction to Dictionary Tables
12. Proc Summary/Means——程序步,汇总和均值
13. Debugging Techniques-DEBUG facility and other techniques——程序调试
14. Proc SQL——SQL语句
15. Structured programming concepts——结构化编程
16. Proc Format——格式输入语句
17. Relational Database Design——数据库设计
18. Web technology—HTML, JavaScript, SAS IntrNet, ect——网络技术,一些脚本语言
19. Your Operating System native (and other) languages—REXX, Unix scripts, VBScript, syncsort——跟操作系统相关的一些脚本语句
20. Proc Transpose——数据转置
21. Data step reports—”Data _null_” report writing
22. SCL—SCL Functions usable in e.g.,Base SAS data steps——屏幕控制语句