关键词不能为空

当前您在: 主页 > 英语 >

bozoSAS讲义 第十八课SAS宏功能简介

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-01-28 02:06
tags:

bozo-瓯剧

2021年1月28日发(作者:impact是什么意思)






















SAS


系统和数据分析













































































电子商务系列



第十八课



SAS


宏功能简介


< br>SAS


系统提供了强大的宏功能(


macro faci lity



,通过创建宏变量和宏能方便地完成:



?



重复分析任务,大大精减了程序量



?



从系统获取一些如


SAS


启动时间、日期、版本号等信息



?



有条件地执行数据步和过程步



?



保持程序的对立性和移植性,产生与数据无关的程序



?



用宏变量在不同数据步和过程步之间传递数据



*



.



SAS






宏变量(也称符号变量)属于


SAS


宏语言的范畴,和数据步中的变量概念是不一样的。


除了数据行外, 可以在


SAS


程序的任何地方定义和使用宏变量。数据步变量是 和数据集相联


系的,而宏变量是独立于数据集的。数据集变量的值取决于正在处理的观测 ,而一个宏变量


的值总是保持不变,直到被明确改变。



1



宏变量的定义



定义一个宏变量的最简 单方法是使用宏语句


%LET


,它的一般形式如下:

< p>





%


LET






宏变量名


=






;




宏变量的命名遵从一般的


SAS


命名规则。宏变量的值不需要加引号,如果值加入引号,


则引号被作 为宏变量值的一部分。宏变量的值可以是固定的字符串、其它宏变量的引用、宏


函数和宏 调用。



2



宏变量的引用



为了引用一个宏变量的 值,在宏变量前加上一个符号


&


,格式如下:

< br>













&


宏变量名




宏变量被引用的效果就是用宏变量的内容直接替代宏变量名。



3



宏变量的使用举例



例如,我们想要打 印、图示和分析几个数据集,但又希望避免重复键入每一个数据集名


字以修改相同的程序 代码。解决方法是用


%LET


语句创建一个宏变量


DSNAME


,该宏变量赋


值了一个数据集名


SURVEY



然后这个宏变量在

< p>
PROC PRINT


等许多过程和


TITLE< /p>


语句中被


引用。程序如下:



上海财经大学经济信息管理系


IS/SHUFE


Created by zxdeng@


Page 1 of 6






















SAS


系统和数据分析













































































电子商务系列




%Let



dsname=survey


;


Proc print




data=&dsname




;


Var





name



sex



bdate



income



;



Title



“Display of Data Set &dsname”




Run




要注意标题语句


Title


平时既可以用单引号又可以用双引 号围住标题,


但如果有宏变量引


用,则必须用双引号,否则用单 引号将当作字符串处理。上面的程序中,我们只要修改宏变



d sname


的赋值,就能对多个数据集执行相同的打印输出等操作。


可用几个


%LET


语句来创建多 个宏变量进一步增强过程的通用性。例如,我们可用


WHERE


语句来规定用作打印和分析的一个范围。如用


%LET


语句把宏 变量


START



END


分别定义为开始和结束的日期。程序如下:




%Let



dsname=survey


;


%Let



start=?01jan79?d


;


%Let



end= ?31dec80?d


;


Proc print




data=&dsname



;


Var





name



sex



bdate



income



;



Where



&start



;


Format


bdate date7.



;


Title



“Display of Data Set &dsname”




Run




这样,通过适当的


%LET


语句来简单改变起始和结束日期, 就能替代在


WHERE


语句中


的多处改 动。


提请大家注意宏变量赋值日期常数


?01jan79?d< /p>


的这种格式,


也可以直接赋日期存


储值, 如改成


%Let start=6940



%Let end=7670





.









SAS


的宏变量共有两种:

< br>一是用户定义的宏变量,


如我们上面所定义宏变量


dsn ame



start



end


。二是自动宏变量,由


SAS

< br>系统定义。



自动宏变量是在系统启动时就已经被创建,



SAS


系统退出前一直保持有效,< /p>


能够在


SAS


系统的任何地方被引用。下 表列出一些用户常用的自动宏变量:




自动宏变量



SYSDATE


SYSDAY


SYSTIME


SYSLAST


SYSDSN


作用



本次


S AS


启动的日期



本次


SAS


启动的星期



本次


SAS


启动的时间



最新创建的数据集名字



最新创建的数据集两部分名字






04AUG97



Monday




11:18





STUDY





SURVEY


上海财经大学经济信息管理系


IS/SHUFE


Created by zxdeng@


Page 2 of 6






















SAS


系统和数据分析













































































电子商务系列



SYSVER


SYSSCP


使用


SAS

< p>
软件的版本



返回用户主机系统的缩写




6.12



WIN



例如,我们修改上面的程序,增加一个小标题,在小标题中引用自动宏变量,程序如下:




%Let



dsname=survey


;


%Let



start=?01jan79?d


;


%Let



end= ?31dec80?d


;


%Let



analyst=


;


Proc print




data=&dsname



;


Var





name



sex



bdate



income



;



Where



&start



;


Format


bdate date7.



;


Title




“Display of Data Set &dsname”




Title


2



“&systime &sysday , &sysdate by &analyst”


;


Run





.









宏是一个被存储的文本,用一个名字识别它 。最简单的宏就像一个宏变量一样工作,但


复杂的宏可以包括分支和循环等结构,能实现 许多宏变量不能实现的功能。



1



宏的定义和调用



宏定义的一般形式如下:




%MACRO



宏名字(参数宏变量)



;


宏实体



;



%MEND





宏名字



;




%MA CRO


语句是每一个宏的开始,同时必须给出这个宏的名字。宏实体可为任一个文


本,


SAS


语句或


S AS


步,宏变量、函数和这些实体的组合。


%MEND


语句必须围住每个宏并


表示宏结束。参数宏变量是一些将要传递给宏调用 的宏变量,不同参数宏变量之间用逗号隔


开。



SAS


程序中可以包括任意多个宏,且在程序中可以多次调用一个宏。在


SAS


中引用宏调


用的形式如下:

< p>







%


宏名字(参数值)




;




例如,我们定义了一个简单通用的宏程序


INVOKE


,它有两个参数宏变量


procname



上海财经大学经济信息管理系


IS/SHUFE


Created by zxdeng@


Page 3 of 6

bozo-瓯剧


bozo-瓯剧


bozo-瓯剧


bozo-瓯剧


bozo-瓯剧


bozo-瓯剧


bozo-瓯剧


bozo-瓯剧



本文更新与2021-01-28 02:06,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/576164.html

SAS讲义 第十八课SAS宏功能简介的相关文章