在SAS编程过程中,如果想通过关键字或快捷键输入特定的程序代码,就需要利用缩写(Abbreviation)或键盘宏(Keyboard Macros)的功能。
显而易见,将特定代码保存到关键字或快捷键中,通过关键字或快捷键调用输出,将会提升SAS编程的效率。
例如,新建程序一般需要包含Header说明信息,可以直接把代码模板保存到header_s
、header_qc
关键字中(有的公司直接通过脚本新建程序,无需这样操作);例如,同一类型的SAS程序结构基本类似,可以将同类型结构直接保存到关键字中,sdtm_s
、sdtm_qc
、table_s
、table_qc
;例如,一些Efficacy Model示例程序保存在关键字中,logistic
、glm
、mixed
;例如,自己常用的宏程序,cat
、stat
……
特定程序的关键字或快捷键的设置是非常个性化的,根据个人喜好或者编程习惯进行设置。当然,不进行设置关键字,将程序保存在特定位置,编程时自行参阅,也不是件很麻烦的事情。
下面介绍SAS EG与SAS中,缩写以及键盘宏的设置。不同SAS版本的菜单操作位置及名称略有不同。SAS演示版本为,SAS EG 8.2,SAS 9.4。
1. 缩写(Abbreviation)
缩写(Abbreviation)的功能是,将一段代码保存在一个字符串中。在SAS编辑器中,通过输入这个字符串来快速输入这一段代码。
1.1 SAS EG
在菜单栏中,点击Program-New snippet,进入缩写设置的界面。

在页面中设置好,缩写名称以及对应的程序内容,可以直接复制粘贴程序。

在SAS编辑器中,输入缩写名称会弹出提示,按Enter或Tab建,会直接输出保存好的代码。

1.2 SAS
在菜单栏中,点击Tools-Add Abbreviation,进入缩写设置的界面。

在页面中设置好,缩写名称以及对应的程序内容,可以直接复制粘贴程序。

在SAS编辑器中,输入缩写名称会弹出提示,按Enter或Tab建,会直接输出保存好的代码。

2. 键盘宏(Keyboard Macros)
键盘宏(Keyboard Macros)的作用与缩写类似,通过“录制”一段代码,为代码设置快捷键,通过快捷键进行调用。
需要注意的是,键盘宏无法像缩写那样通过键入关键字来进行输入,需要使用设置好的快捷键。并且,设置快捷键时,不能与其他快捷键造成冲突,否则会出现调用失败的情况。
2.1 SAS EG
在菜单栏中,点击Program-Editor macros-Record new,进入键盘宏的录制界面。

在SAS编辑中输入或复制粘贴想要保存的代码,输入完毕后,在菜单栏中,点击Program-Editor macros-Stop recording,结束键盘宏的录制。

在弹出的窗口中,输入键盘宏的名称,并设置对应的快捷键。这里的快捷键不能与其他快捷键冲突,否则可能造成无法调用的问题。


在SAS编辑器窗口,按住快捷键Ctrl+1,就可以输入刚刚保存的代码。
2.2 SAS
在菜单栏中,点击Tools-Keyboard Macros-Record New Macro,进入键盘宏的录制界面。

在SAS编辑中输入或复制粘贴想要保存的代码,输入完毕后,在菜单栏中,点击Tools-Keyboard Macros-Stop Recording,结束键盘宏的录制。

在弹出的窗口中,输入键盘宏的名称,并设置对应的快捷键。这里的快捷键不能与其他快捷键冲突,否则可能造成无法调用的问题。


总结
文章介绍了,利用SAS缩写以及键盘宏,输出特定代码段的操作。在一定程度上,这会提升SAS编程的效率。
个人体验下来,缩写的操作更为简便,推荐使用。
感谢阅读, 欢迎关注:SAS茶谈!
若有疑问,欢迎评论交流!
网友评论