12.SAS宏简介概要.pptVIP

  • 9
  • 0
  • 约6.14千字
  • 约 32页
  • 2017-06-15 发布于湖北
  • 举报
12.SAS宏简介概要

谢谢 * Slide * SAS宏简介 主要内容: 1.概述 2.宏变量 3.宏 4.宏参数 5.宏内流程控制结构 6.宏与数据步的信息交换 7.宏语句与宏函数 1.概述 SAS宏工具是SAS系统的重要编程工具,功能强大 可以给一个变量、一段程序、一段文本命名,供以后调用 是编制用户化的SAS系统的重要工具 使用宏工具来完成以下任务: 执行重复性任务 使用宏变量实现文本替代 使用宏产生程序语句 使用宏循环及条件判断语句完成程序交互 2. 宏变量 宏变量是SAS宏语言中用于存储一段字符串的SAS命名 宏变量的主要用途是进行SAS文本替代 SAS宏变量分类 用户定义宏变量 用户根据自己需要定义的宏变量 自动宏变量: SAS系统提供的可以引用的宏变量 1) 自定义宏变量 自定义宏变量格式,使用%let语句 %LET 宏变量名 = 宏变量值; 例如: %let hello = This is my first macro variable; %let DSN = SASHELP.CLASS; %let k = 1; 2)引用宏变量 引用宏变量的方式:在宏变量名前使用 宏变量名 例如, 注意:只有在双引号中,宏变量才能被引用; 单引号不会引用! title 我的标题:hello; proc print data = DSN; run; 等价的SAS数据步程序 title 我的标题:This is my first macro variable; proc print data = SASHELP.CLASS; run; 实质上,SAS在运行时,将宏变量的值替代到了相应的位置上 即,hello换成了This is my first macro variable DSN换成了SASHELP.CLASS 多次引用宏变量 title 我的标题:HELLO; title2 打印的数据集是DSN; PROC PRINT DATA = DSN; RUN;; DATA A; SET DSN; IF SEX=M; RUN; PROC PRINT DATA=A; RUN; 三次引用宏变量DSN 定义宏变量的值为一段程序 格式: %let 宏变量名 = %str(一段程序); 例如 %let prt = %str( PROC PRINT; RUN; ); 引用 prt 产生的作用: PROC PRINT; RUN; 3) 显示宏变量及宏变量的值: %put 显示宏变量 %put _user_; 显示用户定义的宏变量 %put _automatic_; 显示系统提供的自动宏变量 %put _all_; 显示所有宏变量 显示指定宏变量的值 %put 宏变量名; 例如 %put hello; %put dsn; %put this is my test: dsn; 4) 宏变量与后续文本的分隔 当宏变量跟后续文本紧密同时使用时,需要界定宏变量的结束位置 例如 title1 “hello1 第一个程序”; title2 “hello2 第二个程序”; 此时,SAS会认为宏变量名为hello1和hello2,而实际上宏变量为hello 解决办法:在宏变量结束的地方加一个英文句号(.),如下 title1 “hello.1 第一个程序”; title2 “hello.2 第二个程序”; 5) 间接引用宏变量 “宏变量名”来引用宏的方式是直接引用 如果引用的宏变量名是通过宏产生的,则需要间接引用,此时需要用: 例如,有三个宏变量:data1,data2, data3,只是末尾数字不同。采用下

文档评论(0)

1亿VIP精品文档

相关文档