设为首页收藏本站

EPS数据狗论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1362|回复: 0

SAS宏简介

[复制链接]

6

主题

88

金钱

126

积分

入门用户

发表于 2018-8-17 15:17:14 | 显示全部楼层 |阅读模式

SAS/BASE提供了宏(MACRO)功能,通过创建宏变量和宏能够方便地完成替代重复文本,避免繁复分析操作;获取系统信息;产生程序执行过程中的参数;用宏变量在数据步和过程步间传递数据;产生与数据无关的程序,使程序具有可移植性。

1、SAS宏变量

宏变量属于SAS宏语言,是可在SAS程序的除数据行以外的任何地方定义和使用的变量,它独立于数据集。宏变量的值保持不变,直到被明确改变。宏变量分成两类:一是用户定义的宏变量,二是SAS系统自带的自动宏变量。

一般使用宏语句%LET定义宏变量,它的一般形式如下:

  1. %LET宏变量名=值;
复制代码

宏变量的命名遵从SAS命名规则,它的值可以是固定的字符串、其他宏变量的引用、宏函数和宏调用。

引用一个宏变量的值的格式为:&宏变量名。

SAS的自动宏变量在系统启动时被创建,可以在SAS程序任何地方被引用,且在SAS系统退出前一直保持有效,常用的自动宏变量:

自动宏变量作用范例
SYSDATE本次SAS启动的日期如19AGU09
SYSDAY本次SAS启动的星期如Thursday
SYSTIME本次SAS启动的时间如15:41
SYSLAST最新创建的数据集名字如chap2.example2_4
SYSDSN最新创建的数据集两部分名字如chap2 example2_4
SYSVER使用SAS软件的版本如9.2
SYSSCP返回用户主机系统的缩写如Liurong

2、创建和调用宏

SAS的宏函数简称宏,它可以通过控制和循环语句来控制文本的输出,用户还可以定义宏参数实现宏的多次调用。宏的一般定义格式如下:

  1. %MACRO 宏名称(宏参数);
  2. 宏实体;
  3. %MEND 宏名称;
复制代码

%MACRO语句标志着宏的开始,紧接的是用户自定义的宏名称,根据实际需求可以定义宏参数,将宏执行过程中需要调用的宏变量传递进去。宏实体可为任意一个文本,SAS语句或SAS步及宏变量、函数和这些实体的组合。%MEND标志宏的结束。

SAS中调用宏的形式如下:

  1. %宏名称(参数)
复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

客服中心
关闭
在线时间:
周一~周五
8:30-17:30
QQ群:
653541906
联系电话:
010-85786021-8017
在线咨询
客服中心

意见反馈|网站地图|手机版|小黑屋|EPS数据狗论坛 ( 京ICP备09019565号-3 )   

Powered by BFIT! X3.4

© 2008-2028 BFIT Inc.

快速回复 返回顶部 返回列表