第9章宏过程分析.ppt

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章宏过程分析

第9章 宏过程 宏过程 宏过程扩展了SAS的功能,实现了功能的重复利用。通过宏过程可以把数据步或过程步的功能进行封装,在宏过程中可以定义参数,通过调用宏过程把实参传递给形参进行引用。 宏过程就相当于关系数据库中的存储过程,调用时只需要知道宏过程名就可以,具体内部如何实现的不用去过问,实现了吃呢供需的封装。 SAS宏功能总结 (1)实现程序的重复利用,减少了文本的输入量。 (2)实现了程序功能的封装。 (3)实现了变量的传递。 (4)获取SAS系统信息与其他系统的交互。 (5)不同数据步与过程步之间传递数据与参数。 1.用户定义宏变量 宏变量和数据步中的变量不同,宏变量可以在SAS程序的任何地方引用和定义,属于弱类型语句。 宏变量有两种,一种是用户定义的宏变量,一种是SAS系统内部具有的自动宏变量。 对于用户定义的宏变量,用户可以给变量赋值,也可以为空,可以指定范围,通过%global声明可以定义全局宏变量,默认是全局宏变量。 定义宏变量 %let 宏变量名 =赋实际值; %let: 定义宏变量的关键字。 宏变量名:用户在定义宏语句中的变量名,命名遵守SAS命名规范。 =赋实际值:宏变量根据需求直接赋实际值,可选项。 对宏变量,如果需要实际赋值,可以直接赋值,不需要另外定义,SAS程序属于弱类型语言。 宏变量引用 对于宏变量的引用,需要“”符号,具体语法如下: 宏变量引用语法: 宏名。 【注意】间接引用宏变量要用两个符号,如“v_var1.v_var2”,这里的点“.”属于间接引用分隔,告诉SAS系统是两个宏变量,“v_var1”中的第一个“”符号是告诉SAS系统启动宏token解析器,然后读到“v_var1”引用此宏变量。 2.SAS系统内部自动宏变量 所谓的自动宏变量是SAS系统内部已经定义好的变量,不需要用户再定义,用到时直接调用。 _Automatic: 查看所有系统自动宏变量 SYSDATE:??查看当前日期; SYSVER?:?? 查看SAS当前的版本; SYSLAST:?? 查看SAS当前最新生成的数据集信息;? 2.SAS系统内部自动宏变量 SYSTIME:?? 查看当前系统时间; SYSSCP?:?? 查看用户使用的操作系统; SYSDAY?:?? 查看当前星期几; ?_all_: 查看用户创建的宏变量 _user_: 查看用户定义的宏变量 _global_: 查看用户定义的全局宏变量 _local_: 查看用户定义的局部宏变量 2.SAS系统内部自动宏变量 对于SAS系统内部具有的自动宏变量,可以通过这些变量查询一些系统信息,通过宏语句%put可以直接调用这些自动宏变量。 【注意】(1)对于自动宏变量_automatic_引用时比较特殊,不需要符号,直接引用,方式为% put _automatic_. (2)对于文本串中引用宏变量,必须用双括号括起来,不能用单引号。 (3)宏变量中可以直接引用宏函数传递的值。语法如下: %let v_var=%宏函数(); 宏过程 宏过程内部可以调用数据步和过程步的机制,可以包含循环和分支语句。 宏过程的语句格式: %MACRO 宏名(宏参数)/参数选项; ??宏功能语句; %MEND 宏名; 宏过程语法解读 %MACRO:定义宏语句开始的关键字,必选项。 宏名:给宏起的名称,相当于关系数据库中存储过程 个的名称。 宏参数:可选项,给宏定义的参数,多个参数用逗号 隔开。 参数选项:可选项。 宏功能语句: SAS宏语句,实现某些功能的SAS语句。 %MEND:宏结束标志。 宏名:%MEND语句中的宏名为宏开始处定义的宏名, 此处指明宏结束,可选项。 【注意】SAS中引用宏变量要加“”符号。宏过程可以通过“%put”语句把宏变量值输出到日志窗口,通过这个可以调试宏过程。 %put宏语句可以把信息输出到日志窗口,帮助调试程序。 语法格式: %put 选项语句; 语法解读: %put :输出宏语句,如果后面不带选项语句,则输出一个空行到日志窗口。 功能:通过%put宏语句把文本内容或宏变量内容输出到日志窗口。 宏过程调用 % 宏过程名(实参); %: 调用宏过程的关键字,必选项 宏过程名:宏过程中定义的宏名 表9-4 常用宏语句说明 宏语句 说明 %abort 结束当前宏运行,属于宏定义中的语句 %copy 从SAS宏逻辑库中赋值指定的对象 %global 创建全局宏变量语句 %local 创建局部宏变量语句 %let 定义宏变量语句 %put 输出文本或宏变量信息到日志窗口显示 %if %then %else 条件选择宏语句 %do %until

文档评论(0)

wbjsn + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档