- 1、本文档共51页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本章内容包括: ;概述 ;宏变量 ;引用宏变量 ;例14.2 宏处理器只能在双引号内进行替代。
%let a=january;
data;
put This is the time series plot for A;
run;
例中,在引号内引用宏变量的值时必须用双引号。因为宏处理器只能在双引号内进行替代。
;606 %let a=january;
607 data;
608 put This is the time series plot for A;
609 run;
This is the time series plot for january
NOTE: 数据集 WORK.DATA1 有 1 个观测和 0 个变量。
NOTE: “DATA 语句”所用时间(总处理时间):
实际时间 0.01 秒
CPU 时间 0.01 秒;例14.3 多次引用宏变量。
%let a=ResDat.class;
data male;
set a ;
if sex=M;
proc print;
title SUBSET OF A;
data female;
set a ;
if sex=F;
proc print;
title SUBSET OF A;
run;;例14.4 改变宏变量的值。
%let m=2000;
%let n=1;
data a;
set ResDat.stk000002;
where year(date)=m and month(date)=n;
proc gplot data=a;
title2 m 年 n 月份收盘价时序图;
plot clpr*date=1;
symbol1 v=star i=join r=1 c=red;
run;
例中,改变宏变量的值,如:%LET N=2,3,4,5,...,12可以分别得到12个月的时序图。不过,更好的方法是用宏循环来实现这里的要求。 ;例14.5 宏变量的值为一段完整的SAS程序段。
%let plot=%str(
proc gplot data=a;
plot clpr*date=1;
symbol1 v=star i=join r=1 c=red;
run;
);
例中,必须使用%STR函数围住宏变量的值,在以后的程序中可以用PLOT来引用这段程序。
%let m=2000;
%let n=1;
data a;
set ResDat.stk000002;
where year(date)=m and month(date)=n;
plot;
title2 m 年 n 月份收盘价时序图;
run;
例中,如果不执行宏PLOT步的程序时,可将其设定为空值(%LET PLOT= ;)。 ;例14.6 宏变量的嵌套引用。
%let m=2000;
%let n=1;
%let xvar=date;
%let yvar=clpr;
%let plot=%str(
proc gplot data=a;
title2 m 年 n 月份收盘价时序图;
plot yvar*xvar=1;
symbol1 v=star i=join r=1 c=red;
run;
);
data a;
set ResDat.stk000002;
where year(date)=m and month(date)=n;
run;
plot;
proc print;
title m 年 n 月份收盘价;
run;;如何隔开宏变量引用和文本 ;例14.7 隔开宏变量引用和文本。
%let name=data;
%PUT name^1;
%put name.1;
%put name..sheet;;显示宏变量值 ;间接引用宏变量 ;宏变量范围 ;宏 ;例14.10 定义宏plot。
%macro plot;
proc gplot data=ResDat.stk000002;
title2 收盘价时序图;
plot clpr*date=1;
symbol1 v=star i=join r=1 c=red;
%mend plot;;调用一个宏 ;改变宏内宏变量的值 ;定义宏变量:
%let dat=stk000002;
%let pr=收盘价;
%let price=clpr;
?
调用宏plot:
%plot;
?
改变宏变量的值:
%let dat=stk000002;
%let pr=最高价;
%let price=hipr;
?
再次调用宏plot:
%plot;
run;
以上各段程序可以连在一起运行。
;宏参数 ;例14.13 创建宏参数。
%macro plot(dat,pr,price);
proc gplo
文档评论(0)