SAS语言的宏功能.pptVIP

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SAS语言的宏功能

SAS语言的宏功能 本章内容: 1.概述 2.宏变量 3.宏 4.宏参数 5.宏内流程控制结构 6.宏与数据步的信息交换 7.宏语句与宏函数 1.SAS/IML模块 1.1SAS/IML模块简介 1.2 IML 变量 1.3启动和退出SAS/IML模块 1.4 设置和关闭IML交互模型 实例: 在工作目录(d:\mysasfile)下有4个文件,文件名为df1.txt,df2.txt,df3.txt,df4.txt。它们代表4个推销员的销售业绩,每个文件格式相同,都包括日期和销售额。现要求把这4个推销员的记录读入到SAS中,分别生成4个数据集,然后合并成一个大数据集。 2.宏变量 宏变量的用途是替代SAS程序文本,宏变量值的最大长度是65534个字符。宏变量的长度是由自身的文本长度决定的,而不是通过设定得到的。 宏变量按照使用范围分类:全局宏变量和局部宏变量。 全局变量可以在SAS对话运行期间使用并且可以在程序的任何地方引用 局部变量则只能在创建该局部变量的宏中使用,在这个宏之外,这个局部变量就没有任何意义。 主要内容 2.1定义宏变量 2.2引用宏变量 2.3 显示宏变量的值 2.4 如何隔开宏变量引用和文本 2.5 间接引用宏变量 2.1定义宏变量 最简单定义宏变量的方式是使用程序语句%LET。 格式: %LET 宏变量名=值; 如: %let dsn=sasuser.class; 注意如果宏变量dsn已经存在则其值会被替换掉. 2.2引用宏变量 宏变量定义以后,可以通过在其名称前使用来对其引用。 例1:引用宏变量a的程序段: 上段程序等价于: data a; set Sasuser.class; run; 例2:在带有引号的文本中引用宏变量时,需要将这个文本字符串用双引号括起来。如: 注:在引号内引用宏变量的值时必须用双引号。因为宏处理器只能在双引号内进行替代。 例3:多次引用宏 例4:宏变量的值为一段完整的程序段。 注:(1)必须使用%str( )函数围住宏变量的值,以后用d来引用此段程序。 (2)此例中使用了宏变量嵌套。 2.3 显示宏变量的值 格式:%put 宏变量名 | 其它文本text; 2.4 如何隔开宏变量引用和文本 在混合使用宏变量引用和文本的时候,会遇到宏变量后面紧跟着文本的情况。 如定义宏变量name后,当使用name1,name2时,如果不定义name1和name2这两个宏变量,系统就会提示这两个宏变量并不存在,因为在SAS识别宏变量的时候,自动将name1和name2当成了宏变量的名称。 在宏的引用过程中,当词段扫描器识别一个宏变量名称时,从开始直到遇到一个SAS名称中不允许出现的字符为止。所以空格等一些不允许出现在SAS名称中的字符就可以作为分隔符出现,但是为了不显示这些分隔符,一般使用句号来作为分隔符使用。 2.5 间接引用宏变量 前面提到的使用变量名来引用宏的方式是直接引用,有时还会用到很有用的间接引用方式。如对一系列的宏变量引用,如data1,data2, data3, 这一系列中部分文本是固定的名称,而另一部分是变化的数字。这时就可以采取间接引用方式。 3.宏 概念:宏是被编辑过可以从SAS程序中调用的程序 主要内容: 3.1宏的定义 3.2 宏的调用 3.1宏的定义 一般格式为: %Macro 宏名; …宏文本; %Mend [宏名]; 说明: %macro语句表示开始一个宏定义,并给宏规定一个名称; 宏的文本可以是SAS语句和程序、宏变量、宏函数或宏语句。 %Mend语句表示宏的结束,后面加宏名,也可不加。 当一个宏被提交时,系统会对它进行宏编译,但并不执行。检查宏语句的语法,若有错误在Log窗口中显示。 3.2 宏的调用 用一个百分号%加宏名字就可以调用一个宏。 例8:宏的定义与调用 4.宏参数 定义带参数的宏的一般形式为: %macro 宏名称(参数1,参数2,….); …宏文本; %mend; 说明:其中参数列是逗号分开的参数名,参数列中提到的参数在宏文本中作为宏变量引用 调用带参数的宏的一般形式为: %宏名称(参数1,参数2,….); 说明:每个参数值将赋予宏定义中相应位置的参数。 例9:宏参数的定义与调用 例10:宏内调用宏 5.宏内流程控制结构 5.1 宏do循环语句 5.2 条件判断语句 5.1 宏do循环语句 1)计数型循环 格式: %Do 循环变量 = 初值 %to 终值 [%By 步长]; 循环体; %End; 注:执

文档评论(0)

bm5044 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档