SAS宏语言基础

SAS宏语言基础

ID:46580126

大小:365.52 KB

页数:33页

时间:2019-11-25

SAS宏语言基础_第1页
SAS宏语言基础_第2页
SAS宏语言基础_第3页
SAS宏语言基础_第4页
SAS宏语言基础_第5页
资源描述:

《SAS宏语言基础》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、SAS宏语言基础1.SAS宏工具的基本概念和功能减少文本扩展定制输入量SAS操作文本操作工具SAS编程更加灵活高效2.两个新的工作对象宏:以%标识功能较复杂文本替换功能宏变量:以&标识功能较简单3.SAS宏工具的功能结构语法规则宏语言SAS其它宏处理器功能模块工作单元4.SAS宏标识符(宏触发器)宏变量解析宏变量引用宏调用宏操作宏语句宏函数5.SAS宏运行机制文本替SAS程序换操作宏触发器&和%词语扫描器SAS宏工具不包含任何宏代码SAS编译器二、SAS宏工具主要功能单元81.宏变量91.1宏变量的定义及其基本特性%letm

2、v01=heightvar001;datatest;宏变量是由SAS名字标识的字符串。inputsex&mv01;宏变量值取值类型及变量长度。宏变datalines;量值的恒定性。与SAS数据……;集变量的区别。宏变量的应run;用场合。procprintdata=test;var&mv01;run;101.2用户定义宏变量与自动宏变量%letdataset=sashelp.class;%lettime=20050727;用户自定义宏变量%put_user_;%put_automatic_;title“Reportprodu

3、cedat&sysdate9.,&sysday”;自动宏变量111.3局部宏变量与全局宏变量局部宏变量。%macrotest;局部宏变量局部符号表%letlocalvar=12345;%put_user_;%mend;%test全局宏变量。%letglobalvar=2005;全局宏变量全局符号表%globalsasvar;%put_user_;121.4宏变量的使用%letvar=weight;宏变量引用%letdata=sashelp.class;字符常量中引procprintdata=&data;用宏变量,须var&v

4、ar;使用双引号title“Contentsofdataset&dataforvariable&var”;run;%leti=10;字符与宏变量%letj=5;可直接连接使用分隔符连接%lett1=textinline&j;字符与宏变量。%lett2=textinline&j.page&i.underscored;%letlib=sashelp;宏变量引用后圆点符号的使用%letdata=&lib..class;131.5宏变量的间接引用%macrotest;创建一系列宏变data_null_;量,lev1,lev2,…se

5、tsashelp.classend=last;callsymput((“lev”

6、

7、compress(_n_)),age);iflastthencallsymput(“levn”,compress(_n_));run;存储上述宏变量%doi=1%to&levn;宏变量间接引用总个数的宏变量%putlev&i=&&lev&i;%end;%mendtest;在各级别的宏变量名称前添加2的k-1次方个&14宏变量间接引用的工作机制文本字符串文本替换&字符扫描宏处理器&&lev&i&lev114151.6应用宏函数处理宏变量值%le

8、ta=weight/height/sex;%letb=%scan(&a,2,/);%letc=%substr(&a,8,6);宏函数可与字%leti=9;符混合使用,也可同时使用%letj=%eval(&i*2+1);多个函数,且其前后顺序可任意排列%letk=%scan(&a,1,/)is%eval(&i*7-3)kg;162宏的定义与调用172.1宏的概念与功能宏调用宏:已编译程序段特定代码文本可执行逻辑控制可接受宏参数等各项操作功能182.2宏的定义与调用以%macro语句为开始宏%macromtest(times);

9、%doi=1%to×的%putputtingprocessisperformedfor&itimes;定%end;义%mendmtest;以%mend语句为结尾宏调%mtest(10)用192.3宏参数当前宏的局部宏变量带默认值的关键字位置参数%macroparatest(pos1,pos2,key1=default1,key2=default2);%putthefirstpositionalparameteris&pos1;%putthesecondpositionalparameteris&pos2;%put

10、thefirstkeywordis&key1;%putthesecondkeywordis&key2;%mendparatest;/*仅有两个位置参数,关键字将取默认值*/%paratest(para1,para2)/*位置参数变换位置,关键字取给定值*/%paratest(para2,p

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

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

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