新浪博客

SAS编程基础(二)

2011-10-09 21:21阅读:
2.4 表达式
表达式由一系列操作符和操作对象构成,产生一个目标值。使用表达式可以对变量作变换和赋值,创建新变量,计算新数值以及控制条件语句的运行等。
操作对象有:
·变量;
·常数
操作符包括:
·算术算符;
·比较算符;
·逻辑算符;
·SAS函数;
·括号。
2.7 表达式里允许有空格。
Y=X+10;
Y= X + 10;
2.4.1
SAS常数
SAS常数是SAS系统可以识别的一些固定值。
SAS常数值包括:
·数字;
·引号括起来的字符串;
·其他特殊记号。
SAS常数的5种类型:
·数值常数;
·字符常数;
·日期时间数值常数;
·十六进制数值常数;
·十六进制字符常数。
这两个十六迸制应该归属于前面的数值和字符常数。
1. 数值常数
数值常数就是出现在SAS语句里的数字。
2.8 数值常数。
1-51.231.2E232E420000
数值常数可以有多种格式表示。
数值常数的表示格式包括:
standard notation标准格式;
scientific(E) notation科学计数法;
hexadecimal notation十六进制格式;
标准格式:101+1-11.1
科学计数法:1.1e111.2e-12
十六进制格式:lcx,12x,9x
2. 字符常数
字符常数通常由用单引号括起来的1-32767个字符组成。如果字符常数内含有引号。引用时,要么它的引号用两个连续的单引号,要么用一个双引号。
2.9 引用带引号的字符常数。
name=’TOMS’;
name='TOM’S”;
注意:字符常数是由引号括起来的,但是字符变量的名称则没有引号,也就是说字符常数不能作为字符变量的名称。
注意,SAS比较引号括起来的字符时是区分大小写的。如’ ABC’'abc’不同。十六进制字符常数可以表示为'543'xx紧跟在引号部分后面。
3. 日期时间常数
将日期时间值表示为常数时,要使用相应的格式值。格式值带单引号,后面跟一个D(日期)T(时间)DT(日期时间)
2.10 引用日期时间常数。
'1jan2000'd; ‘01jan00'd;
'9:25't; '18jan00:9:27:25'dt
if begin='01JAN2000'd then end= '31DEC2000'd;
2. 4. 2 SAS算符
SAS算符是一些符号,其作用是进行计算、比较等。
1. 算术算符
算术算符表示执行一种算术运算,如表2.2所示。
2.2 算术算符
算符
含义
举例
**
乘方
A**2.5=A2.5
*

A*B*3
/

X/A
+


-




表达式中有一个运算对象是缺失值时,结果也是缺失值。
data;
X=3.5** 2.5;
put X=;
Y= 9+1/3;
put Y=;
X=.;
Y=1+X;
put Y=;
run;
输出结果为:
X=22.917651494
Y=9.3333333333
Y=.
2. 比较算符
比较算符建立两个量之间的一种关系
如表2.3所示。
2.3 比较算符
算符
等价形式
含义
举例
=
eq
等于
X=Y
^=
ne
不等于
X^=Y
>
gt
大于
X>Y
<
lt
小于
X< Y
>=
ge
大于等于
X>=Y
<=
le
小于等于
X<=Y
in

等于列表中的一个
NAME IN(WANG,LI)


比较准则:
·数值和字符都可以比;
·结果为真,赋值1,假赋值0;
·字符值从左到右逐个按ASCII码排列序列进行比较;
·缺失值参加比较时,它比任何有效值都小。
2.12 比较算符应用。
if x< y then c=5;
else c=12;
比较算符经常出现在IF语句里。
3. 逻辑算符
逻辑

我的更多文章

下载客户端阅读体验更佳

APP专享