3-SAS运算符
- 格式:ppt
- 大小:922.00 KB
- 文档页数:36
一SAS语句SAS语言程序由数据步和过程步组成。
数据步用来生成数据集、计算、整理数据,过程步用来对数据进行分析、报告。
SAS语言的基本单位是语句,每个SAS语句一般由一个关键字(如DATA,PROC,INPUT,CARDS,BY)开头,包含SAS名字、特殊字符、运算符等,以分号结束。
SAS关键字是用于SAS语句开头的特殊单词,SAS语句除了赋值、累加、注释、空语句以外都以关键字开头。
SAS名字在SAS程序中标识各种SAS成分,如变量、数据集、数据库,等等。
SAS 名字由1到8个字母、数字、下划线组成,第一个字符必须是字母或下划线。
SAS关键字和SAS 名字都不分大小写。
二SAS表达式SAS数据步程序中的计算用表达式完成。
表达式把常量、变量、函数调用用运算符、括号连接起来得到一个计算结果。
常量SAS常量主要有数值型、字符型两种,并且还提供了用于表达日期、时间的数据类型。
数值型:数值型常数可以用整数、定点实数、科学计数法实数表示。
如:12,-7.5,2.5E-10字符型:字符型常数为两边用单撇号或两边用双撇号包围的若干字符。
如:'Beijing',"Li Ming","李明"日期、时间:日期型常数是在表示日期的字符串后加一个字母d大小写均可),中间没有空格。
时间型常数是在表示时间的字符串后加一个字母t。
日期时间型常数在表示日期时间的字符串后加字母dt。
日期型:'13JUL1998'd时间型:'14:20't日期时间型:'13JUL1998:14:20:32'dt因为SAS是一种数据处理语言,而实际数据中经常会遇到缺失值,比如没有观测到数值,被访问人不肯答,等等。
SAS中用一个单独的小数点来表示缺失值常量。
变量SAS变量的基本类型有两种:数值型和字符型。
日期、时间等变量存为数值型(实际记录为距1960/01/01的天数)。
SAS讲义-第三课一、SAS算符(1)算术算符** 乘方;* 乘;/ 除;+ 加;- 减。
例:算术算符应用。
data;X=3.5**2.5;put X=;Y=9+1/3;put Y=;X=.;Y=1+X;put Y=; /*Y也是缺失值*/run;(2)比较算符(重要)(3)“|”或运算,“||”连接符。
例:运算符的运用。
data a;x=(1>2)|(1<2);y=(1>2)&(1<2);z='good '||'morning';run;二、变量类型转换(1)字符自动转为数值例:data a;a=1;b=2; /*a、b数值型*/x='10';y='a'; /*x、y字符型*/a=x; /*字符型成功转为数值型*/b=y; /*字符型转为数值型失败*/if _error_ then b=3;y=x; /*将长字符赋值给短字符会被截取*/run;(2)函数input将字符转为数值例:data a(keep=code);set resdat.lstkinfo;code=input(stkcd,6.);run;(3)函数put将数值转为字符data a(keep=Date x);set resdat.stk000001;x=put(clpr,8.2);run;三、SAS函数SAS函数的形式:函数名(X1,X2,….)例表达式中用函数data a(keep=date y d min);set resdat.idx000001;y=year(date);d=weekday(date);min=min(sum(oppr,hipr,lopr,clpr),1000);run;例条件语句中使用函数data a;set resdat.idx000001;where year(date)>1996;run;。
SAS编程基础2007-06-19 00:32同其它计算机语言一样,SAS语言也有它自己的语汇和句法:关键词和连结关键词与其它辅助信息的规则。
用户使用SAS语言来定义数据和规定对数据怎样做统计分析的问题。
由SAS语句组成的序列称为SAS程序。
1 SAS语句一 SAS语句的定义我们先来看一个实例:某小学10名9岁男生3个项目智力测验得分资料如下,试计算这10名男生各项目的平均得分。
圆括号( )、单引号‘ ‘、双引号“ “、美圆符号$、列指针控制符@、行指针控制符#、冒号:、句号.、分号;等;运算符包括:加号+、减号—、乘号*、除号/、乘方**等;等号=、不等号^=、小于号<、大于号>、小于等于号<=、大于等于号>=等。
三语句格式SAS语句的基本格式是:KEYWORD Parameter … [item | item | item ] options;关键词参数选项1 选项2 选项3 选择值关键词:用以说明语句类型和功能的单词;参数:要求用户提供的信息。
不用括号,不是任选项。
例如:input x y z;其中:input 是关键词,它说明要把数据提供给哪些变量。
后面跟的变量名x、y、z 都是参数,即要求用户提供的信息。
…表示参数可以不止一个。
[选项1 | 选项2 | 选项3 ]中的竖线|用来分隔各选择项,表示其中任选一个;方括号内的信息是可以选择的。
例如:proc means data=store maxdec=3;其中:proc是语句的关键词,它说明本语句是过程语句;means 是过程名,它说明要调用的过程名称;data=、maxdec=都是选项的关键词,等号后面是用户提供的信息。
2 SAS程序一系列SAS语句组成一段SAS程序。
SAS程序中的语句可分为两类步骤:DATA步和PROC步。
这两类步骤是所有SAS程序的模块。
通常用DATA步产生SAS数集而用PROC步对SAS数据集内的数据进行分析处理并输出结果。
SAS实用条件语句(详细+SAS运算符)SAS表达式:SAS表达式由变量、常数和运算符组成,可用于变量的赋值、变量的转化、结果的计算和逻辑运算例如:Y=3;/*变量的赋值*/X=log(x);/*变量的转换*/Y=2*X+1;/*变量的计算*/X>Y; /*逻辑运算*/条件语句:条件语句使程序根据一定的判断条件选择相应执行的操作。
根据需要判断条件和执行的相应程序的不同,SAS中的条件语句可以试用以下几种格式:a)IF-THEN语句IF 条件THEN 语句:如果条件为真,则执行相应的语句。
例如:IF X<0 THEN X=-X;该语句的功能为如果条件“X小于0”为真,则执行语句“X=-X”b)IF-THEN DO: END语句块如果条件为真,则可执行多条语句。
例如:IF X<0 THEN DO:PUT ‘X小于0’;X=-X;END;c)IF-THEN-ELSE 语句IF 条件THEN /*如果条件为真执行语句块1,否则执行语句块2*/----- 程序块1;ELSE----- 程序块2;注意:SAS系统中的IF分支语句与其他编程语言不通,不需要ENDIF语句。
d)SELECT 语句SAS中的IF语句不支持‘’ELSEIF‘’,即其他条件的判断,但是可以通过SELECT语句完成多个选择条件的判断。
SELECT(条件表达式);WHEN(值列表1)语句1WHEN(值列表2)语句2…..OTHERWISE 语句;END;在上述语句中,对SELECT后的表达式进行判断:如果其值在值列表1中,则执行语句1,然后退出SELECT语句,不再对后面的选择进行判断;如果其值在值列表2中,则执行语句2,然后退出SELECT语句,不再对后面的选择判断; 以此类推,最后,如果可供选择的条件都不能满足,则执行OTHERWISE后的语句。
●SELECT语句的基本格式二:SELECT;WHEN(条件1)语句1WHEN(条件2)语句2……..OTHERWISE 语句;END;在上述调用格式中,SELECT关键词后无需跟条件表达式,程序在执行的过程中直接对WHEN语句后的条件进行判断:如果条件1能满足,则执行语句1,然后退出SELECT语句,不再对后面的条件判断; 如果条件2能满足,则执行语句2,然后退出SELECT语句,不再对后面的条件判断; 以此类推; 最后,如果所有的条件都不为真,则执行OTHERWISE后的语句。