登录
首页精彩阅读SAS学习笔记(2):SAS语言构成
SAS学习笔记(2):SAS语言构成
2015-10-14
收藏

SAS学习笔记(2):SAS语言构成



  SAS语言程序由数据步和过程步组成。数据步用来生成数据集、计算、整理数据,过程步用来对数据进行分析、报告。SAS语言的基本单位是语句,每个SAS语句一般由一个关键字(如DATA,PROC,INPUT,CARDS,BY)开头,包含SAS名字、特殊字符、运算符等,以分号结束。

   SAS关键字是用于SAS语句开头的特殊单词,SAS语句除了赋值、累加、注释、空语句以外都以关键字开头。SAS名字在SAS程序中标识各种SAS成分,如变量、数据集、数据库,等等。SAS名字由1到8个字母、数字、下划线组成,第一个字符必须是字母或下划线。SAS关键字和SAS名字都不分大小写。

1.1 SAS表达式

SAS数据步程序中的计算用表达式完成。表达式把常量、变量、函数调用用运算符、括号连接起来得到一个计算结果。

SAS常量主要有数值型、字符型两种,并且还提供了用于表达日期、时间的数据类型。例如

  • 数值型:1 2,-7.5,2.5E-10
  • 字符型:'Beijing'"Li Ming""李明"
  • 日期型:'13JUL1998'd
  • 时间型:'14:20't
  • 日期时间型:' 13JUL1998:14:20:32' dt

SAS中用一个单独的小数点来表示缺失值常量。

SAS变量的基本类型有两种:数值型和字符型。日期、时间等变量存为数值型。SAS的数值型变量可以存储任意整数、定点实数、浮点实数,一般不关心其区别。数值型变量在数据集中的存贮一般使用8个字节。SAS的字符型变量缺省的长度是8个字符,但是如果在INPUT语句中输入字符型变量时指定了长度则不受此限制。可以用LENGTH语句直接指定变量长度,LENGTH语句一般应出现在变量定义之前,格式为:

LENGTH 变量名 $ 长度

例如:length name $ 20;

SAS运算符包括算术、比较、逻辑等运算符。

逻辑运算符 = ^= > < >= <= IN

EQ NE GT LT GE LE

IN是一个SAS特有的比较运算符,用来检查某个变量的取值是否在一个给定列表中,比如:

prov in ('北京','天津','上海')

逻辑运算符: &(AND) l (OR) ^(NOT)

连接两个字符串的l l(两个连续的l号)

取两个运算值中较大一个的<>(比如3 <>5结果为5),取两个运算值中较小一个的><

1.2 SAS程序规则

SAS程序由语句构成。每个语句以分号结尾。因为分号作为语句结束标志,所以SAS语句不需要单独占一行,一个语句可以写到多行,也可以在一行连续写几个语句。SAS语言中只要允许用一个空格的地方就可以加入任意多个空白f空格、制表符、回

车,允许用空格的地方是名字周围、运算符周围。

SAS关键字和名字大小写不分,但字符型数据值要区分大小写,比如"Beijing"和"BEIJING"被认为是不同的数据值。

在SAS程序中可以加入注释,注释使用C语言语法,用/*和*/在两端界定注释,这种注释可以出现在任何允许加入空格的位置,可以占多行。

SAS程序包括数据步和过程步两种结构,每一个步是一段相对完整的可以单独运行的程序。数据步用来生成、整理数据和自编程计算,过程步调用SAS己编好的处理过程对数据进行处理。自己用SAS编程序进行计算主要在数据步中进行。

SAS数据步以DATA语句开头,以RUN语句结尾。DATA步中可以使用INPUT,CARDS,INFILE,SET,MERGE等语句指定数据来源输入数据,也可以用赋值、分支、循环等编程结构直接生成数据或对输入的数据进行修改。


数据分析咨询请扫描二维码

客服在线
立即咨询