第10章 sas宏功能

第10章 sas宏功能

ID:33964862

大小:151.00 KB

页数:16页

时间:2019-03-02

第10章 sas宏功能_第1页
第10章 sas宏功能_第2页
第10章 sas宏功能_第3页
第10章 sas宏功能_第4页
第10章 sas宏功能_第5页
资源描述:

《第10章 sas宏功能》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第10章SAS宏功能10.1概述SAS系统的MACRO处理器可以让程序更简洁更明了及更容易维护,帮助用户在使用SAS系统时更方便更自动化,具体来说,它具有以下功能:1.获取SAS的系统信息;2.有条件地执行数据步和过程步;3.开发交互式系统;4.在不同的数据步和过程步之间传递数据;5.重复执行SAS代码等等。.SAS宏语言的管理1.MACRO变量2.MACRO程序语句3.MACRO表达式和函数10.2SAS宏变量的使用与定义宏变量(有时也称符号变量)属于SAS宏语言的范畴,和数据步中的变量的概念是不一样的。除了数据行外,你可以在SAS程序的任何地方定义和使用宏变量。数据步变

2、量是和数据集相联系的,而宏变量是独立于数据集的。数据集变量的值取决于正在处理的观测,而一个宏变量的值总是不变,直到被明确改变。宏变量类似于一般变量的命名方法。程序中以&宏名来引用MACRO变量(有时为了清晰起见,也可以通过&宏名.来引用MACRO变量)SAS宏变量共有两种:1.系统宏变量2.用户自定义的宏变量。10.2.1系统宏变量一些系统宏变量01/*Program_10-l-l.sas*/02DATA_NULL_;03PUT'SYSDATE='"&SYSDATE";/*执行时的日期*/04PUT'SYSDAY='"&SYSDAY";/*执行时是星期几*/05PUT'SY

3、SENV='"&SYSENV";/*交互模式或批次模式*/06PUT'SYSSCP='"&SYSSCP";/*返回正在用的操作系统*/07PUT'SYSJOBID='"&SYSJOBID";/*程序的操作执行代码*/08PUT'SYSERR='"&SYSERR";/*程序执行的错误码*/09PUT'SYSRC='"&SYSRC";/*程序执行的回复码*/10PUT'SYSLIBRC='"&SYSLIBRC";/*使用LIBNAME时设置是否正确*/11PUT'SYSFILRC='"&SYSFILRC";/*使用FILENAME时设置是否正确*/12RUN;使用宏语句%put

4、_automatic_;可以查看所有的系统宏变量,结果显示在LOG窗口。SYSDATE=20OCT08SYSDAY=WednesdaySYSENV=FORESYSSCP=WINSYSJOBID=384SYSERR=0SYSRC=0SYSLIBRC=0SYSFILRC=0NOTE:DATAstatementused:realtime0.03secondscputime0.01seconds10.2.2用户自定义宏变量等号右边可以是数值或字符串表达式,字符串用引号括起来.字符串前后的空格赋值前被删除。定义方法及其使用:%LETmac_var=取值等号左边是宏名.定义好的MACR

5、O变量可以在不同的SAS数据步或过程步中重复使用,该MACRO变量的值不会改变.引用时直接用&宏名.即可.宏变量定义可以放在程序的任何位置,但在使用之前一定要定义好.例101/*Programs10-2-l.sas*/02%LETmm=07;03DATAoutl;04FORMATvar_aYYMMDD10.;05INPUTvar_a:YYMMDD6.;06IFmonth(var_a)=&mm;07DATALINES;08010203090107211001032211010723120101031301040214;16PROCPRINT;17TITLE"数据月份:&mm"

6、;18RUN;注:这里的标题必须用双引号括起来,而不能用单引号,因为宏处理器只对双引号中引用的宏变量进行这种处理,而把单引号中的所有字符都看作是标题的内容。结果:数据月份:0707:57Wednesday,October20,20082Obsvar_a12001-07-2122001-07-23注:如果要查看用户自定义的宏变量,可以提交语句%put_USER_;如果要查看所有宏变量,可以提交语句%put_ALL_;可将SAS的一段程序设为MACRO变量例2一个宏变量代表一行语句时01/*Program_10-2-3.Sas*/02%LETmm=INPUTvar_a:YYMM

7、DD6.;03DATAoutl;04FORMATvar_aYYMMDD10.;05&mm;06DATALINES;07010203080107210901032210010723110101031201040213;14RUN;一些宏函数1)宏函数%str例3一个宏变量代表多行语句时,可用宏函数%str来实现01/*Program_10-2-3_2.sas*/02DATAout1;03INPUTIncomeAge;04DATALINEs;051500230626003507200028083000300918001

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。