SAS中3种定义宏变量方法
来源:互联网 发布:windows redis集群搭建 编辑:程序博客网 时间:2024/05/01 06:42
SAS中定义宏变量方法主要有以下三种:
一、%LET定义
这是最常用的方法。语法过程为:%let 宏变量名=值;调用宏变量:&宏变量名
Tips:
1、以逗号作为宏变量定义的结束。
2、在定义时候不要加引号,系统会把引号当作宏变量的值之一。
3、宏变量的作用域分为全局与局部。
一种在程序(这里一般是指一个宏程序)外定义,则在整个SAS任何地方都可以被调用。
另外一种则是在程序内部,则作用在该程序出现宏变量后面,在程序外则不可以被调用,否则会出错。(如果一个程序内部定义有宏变量变成全局变量,则需要使用%global)
4、当宏变量一个表达式,使用:%str()
%let print=%str(proc print; run;);
5、如果宏变量是数值计算表达式,则需要根据数值类型使用二个不同的宏变量:
%eval_r() 用于计算整数例如:%eval_r(1+2)
%sysevalf() 用于计算浮点数或者空值例如: %eval_r(1.0+2.3)
二、data步中定义 call symput()
这个方法只允许在data步中,这个一定需要注意
语法过程:call symput("宏变量名",值);
在使用SQL过程中定义宏变量,语法过程为:
SELECT 宏值
INTO :宏变量名
SEPARATED BY '分隔符号'
一、%LET定义
这是最常用的方法。语法过程为:%let 宏变量名=值;调用宏变量:&宏变量名
Tips:
1、以逗号作为宏变量定义的结束。
2、在定义时候不要加引号,系统会把引号当作宏变量的值之一。
3、宏变量的作用域分为全局与局部。
一种在程序(这里一般是指一个宏程序)外定义,则在整个SAS任何地方都可以被调用。
另外一种则是在程序内部,则作用在该程序出现宏变量后面,在程序外则不可以被调用,否则会出错。(如果一个程序内部定义有宏变量变成全局变量,则需要使用%global)
4、当宏变量一个表达式,使用:%str()
%let print=%str(proc print; run;);
5、如果宏变量是数值计算表达式,则需要根据数值类型使用二个不同的宏变量:
%eval_r() 用于计算整数例如:%eval_r(1+2)
%sysevalf() 用于计算浮点数或者空值例如: %eval_r(1.0+2.3)
二、data步中定义 call symput()
这个方法只允许在data步中,这个一定需要注意
语法过程:call symput("宏变量名",值);
在DATA过程中,宏变量可以包括常值、变量值。或者函数赋予宏变量。
在使用SQL过程中定义宏变量,语法过程为:
SELECT 宏值
INTO :宏变量名
SEPARATED BY '分隔符号'
阅读全文
0 0
- SAS中3种定义宏变量方法
- SAS定义宏变量三种方法
- SAS定义宏变量三种方法
- SAS中变量命名规则
- sas中宏变量、创建方式及区别
- SAS中生成哑变量的一段宏代码
- python 中判断变量是否定义方法
- sql中定义变量的方法
- 头文件中定义变量和声明变量的方法
- SAS中利用身份证号码求年龄的两种方法
- 关于在onCreate()方法中定义变量和在方法体外定义变量的区别
- Sas应用之宏变量%eval
- php 变量定义方法
- php 变量定义方法
- vb变量定义方法
- php 变量定义方法
- php 变量定义方法
- Makefile知识点-3------makefile定义“空格”变量的定义方法
- Pyinstaller使用
- 安卓开发镜像烧写进开发板fastboot烧写方式
- POJ 1509 后缀自动机
- 实验一 线性表的基本操作实现及其应用
- HDU
- SAS中3种定义宏变量方法
- 鸡汤篇
- 均分纸牌
- 大学阿,大学
- 小白安装caffe、py-faster-rcnn艰难历程
- vs 提示图标的含义
- idea 注册 JRebel
- GDI遮罩贴图
- JVM调优总结 -Xms -Xmx -Xmn -Xss