SAS 宏功能(上)

 SAS宏功能(上)

概念

将一个变量,一段程序或者一个文本命名,供以后调用

SAS宏主要功能:

获取SAS系统信息

SAS在启动时就创建了一些自动宏变量,用以存储当前SAS进程启动的日期,时间,版本号及其它信息,用户可以在任何情况下使用这些宏变量。

条件执行过程步和数据步

例如每天提交一份生产情况的详细报告,每周五增加一份汇总报告。使用宏功能每天运行同一个程序就可以实现上述任务

开发交互式系统

使用SAS宏语言的%WINDOW语句及一些基本的编程语句可开发交互式用户界面。

产生与数据无关的SAS程序,但可展示与数据有关的结果

宏功能可保持SAS程序的独立性和移植性。一段程序在多种情况下均可运行,得到期望的结果。

在不同的SAS数据步或过程步之间传递数据

SAS宏变量可在SAS的任何地方被引用,具有全局性,所以成为不同过程间传递数据最方便的手段。

重复执行SAS程序

例:打印20个不同但有规律的SAS数据集中的内容。

%MACRO PRINT;

                   %DO NN=70 % TO 89;

                   Proc print data=year&NN;

                            Title “19&NN Sales Data”;

                   Run;

                   %END;

         %MEND PRINT;

%PRINT;

凡用到SAS宏语言的变量和语言成分,都以符号%&开始。当SAS程序提交后,在编译阶段,系统对程序逐词扫描过程中,凡遇到%&开始的词,就启动宏语言处理器对此进行处理:

对于宏变量或宏程序的定义就进行登记

对于宏变量的调用就进行解读(Resolve),对宏程序的调用则读入相应的源程序进行编译

对其它宏语句编译成相应的程序。

%INCLUDE语句

全局语句,可出现在程序任意位置。读入存放在外部文件中的一段文本作为程序并按程序执行。用法: %INCLUDE 文件设定</SOURCE2>

例:标签了dst(‘abc.sas’)的文件中存放的一段SAS程序: %include dst(‘abc.sas’);

(未完待续)

posted @ 2008-03-06 15:47  Teddy  阅读(4997)  评论(0编辑  收藏  举报