SAS 编程基础Word格式文档下载.docx
- 文档编号:17273819
- 上传时间:2022-11-30
- 格式:DOCX
- 页数:19
- 大小:313.91KB
SAS 编程基础Word格式文档下载.docx
《SAS 编程基础Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《SAS 编程基础Word格式文档下载.docx(19页珍藏版)》请在冰豆网上搜索。
长度的=不能超过8B。
如:
ResDat
建立SAS逻辑库的方法:
∙用菜单操作;
∙用LIBNAME语句
语句格式:
LIBNAMElibref<
engine>
'
SAS-data-library'
语法说明:
LIBNAME:
逻辑库名
libref<
引擎名称
'
逻辑库对应的物理地址
2.临时库和永久库
临时逻辑库是指它的内容只在启动SAS时存在,一旦退出SAS时内容完全被删除。
系统默认的临时逻辑库为WORK,引用临时库WOR中文件时,可以不加库名WORK
永久逻辑库是指它的内容在SAS关闭对话之后仍旧保留,直到再次修改或删除。
SAS系统中除了WORK以外的逻辑库都是永久库。
3.库引擎
库引擎的功能包括:
∙读取和写入数据
∙列出库中的文件
∙删除和重命名文件
SAS通过不同库引擎读写不同格式的文件。
每个SAS引擎都有着自身的运行特性。
∙运行由其他版本SAS软件生成的文件;
∙读取由其他软件生成的数据文件;
∙存储和访问硬盘或者磁带上的文件;
∙决定文件中的变量和观测如何放置;
∙将文件从物理位置地址读取放入到内存中;
∙在不同的操作系统之间传输SAS文件
1.2.2数据集
1.数据集分类
数据集有两类:
∙SAS数据文件(同时描述信息和存储数据值)
∙SAS数据视图(不实际存储数据,只包含表的描述信息以及一组用来读取数据的查询语句)
以上两个数据文件在同一级目录或逻辑库下时不能同名。
2.数据集构成
∙描述信息
∙数据值
SAS数据集的一行被称之为观测,一列被称之为变量,包括一组有着相同的特征的值。
SAS使用缺失值表示一个观测中某个变量值得缺失。
1.3.3数据文件
SAS数据文件是包含描述信息和数据值的SAS数据集。
一般来说,SAS数据文件分类如下:
∙普通的SAS数据文件:
SAS格式的数据文件
∙接口数据文件:
以其他数据软件格式储存的数据的数据文件。
∙数据文件实际储存数值,视图只是包含表的描述信息以及一组用来读取数据的查询语句。
∙数据文件是静态的,视图是动态的。
∙SAS数据集可以保存的在磁带或者其他的存储媒介上,但是数据视图由于其他动态特性,不能保存在磁带上。
∙SAS数据视图是只读性的,不可以修改,而一些SQL视图可以被修改。
∙SAS数据文件可以被压缩,而视图则不可以。
1.2.4数据视图
1.数据视图定义
SAS数据视图就是用来从其他文件中读取数据的一种SAS文件。
SAS视图一般分为两种:
∙NativeView,由数据步或者SQL过程创建
∙InterfaceView,由SAS/ACCESS软件创建,可以读取其他数据库管理系统(DBMS)的中的数据库。
2.何时使用视图
数据视图占用额外的运行时间,数据文件占用额外的硬盘空间。
3.数据视图的使用优势
∙可以使用连接多个表的视图来合并数据集
∙数据视图可以节省大量的空间
∙数据视图可以保证读取的数据集永远都是新的。
∙更改一个数据视图只需要改变这个视图的查询语句
∙使用SAS软件,视图可以将多个不同的主机上的数据文件整合,以整体的形式呈现。
4.数据步视图
数据步视图包含用于多个数据源中读取数据的数据步程序,这些数据源包含以下几种:
∙原始数据文件
∙SAS数据文件
∙PROCSQL视图
∙SAS/ACCESS视图
∙DB2、ORACLE或者其他DBMS数据
语法格式:
5.PROCSQL视图
PROCSQL视图为一个带有名称的PROCSQL查询。
可以读写的数据源同数据步视图。
例如:
1.2.5存储编译的DATA步程序
1.定义
存储编译的DATA步程序是包含已经被编译过DATA步程序并储存在SAS逻辑库中的程序文件。
文件类型是程序。
2.创建存储编译的DATA步程序
data-set-name数据集名称
stored-program-name存储编译的DATA步程序名称
password-option给DATA步程序名称分配一个密码
source-option存储或编译源码
1.2.6其他SAS文件
1.表词典
2.目录册文件
1.3SAS语言元素
主要的语言元素包括:
∙数据集选项
∙输出和输入格式
∙函数和CALL子程序
∙应用响应测量宏
∙语句
∙SAS系统选项
∙表达式
1.3.1数据集选项
括号中的数据集选项可以对数据集进行如下操作:
∙重新命名变量;
∙选择需要的观测;
∙输出数据集中保留或删除的变量;
∙数据集加密;
1.3.2输入和输出格式
输出格式format是SAS用来确定如何输出或写出数据值的指令,用FORMAT控制数据值在输出时使用的格式,如YYMMDD10,格式将一个日期数输出读入到新的数据集中。
输出格式informat是SAS用来确定如何将数据读入变量的指令。
<
$>
format<
w>
.<
d>
格式说明:
$指定为字符格式,如果该项空缺,则默认是数值格式
format规定为有效的SAS输出格式
informat规定为有效的SAS输入格式
w设定输入输出的长度,一般来说是数据所占的列的数目
d设定数据值数据中华小数点的位数
1.3.3函数和CALL子程序
1.函数定义
SAS哈数对数据参数进行计算处理并返回一个值。
在BASESAS软件中,可以在数据步程序语句、WHERE表达式、宏语句、SQL语句以及一些统计过程的语句中的使用函数。
2.CALL子程序定义
CALL子程序用来改变变量值,或执行一些系统功能,CALL子程序类似于函数,但是不能再赋值语句使用,所有的SASCALL子程序都只能被CALL语句使用。
也就是所有的CALL子程序都要放在CALL关键词后。
1.3.4语句
SAS语句就是一系列关键词、SAS名称、算符,以及特殊字符的组合。
所有的SAS语以分号结尾。
SAS语句一般分为数据步语句与过程步语句,以及可以用在SAS程序任何地方的全局通用语句。
KEWWORDparameter...<
item1|item2...|itemn>
options;
关键词参数...<
项目1或项目2...项目n>
选项;
其中:
∙粗体表示必须按显示形式书写的关键词;
∙一般字体表示用户提供的信息;
∙<
>
表示括号内的信息可选;
∙|表示任选
1.可执行数据步语句和声明数据步语句
2.全局通用语句
1.3.5SAS系统选项
系统选项用来控制SAS的运行方式,如SAS系统启动、软硬件的连接,SAS程序的运行等。
OPTIONSoptions(s):
option设定一个或多个系统选项,任何系统选项都有一个默认设置。
2.4表达式
表达式由一系列操作符和操作对象构成,产生一个目标值。
使用表达式可以对变量作变换和赋值,创建新变量,计算新数值以及控制条件语句的运行等。
操作对象有:
∙变量;
∙常数。
操作符包括:
∙算术算符
∙比较算符
∙逻辑算符
∙SAS函数
∙括号
例2.7表达式里允许有空格
Y=X+10;
Y=X+10;
/*例中,两语句等价*/
2.4.1SAS常数
SAS常数是SAS系统可以识别的一些固定值。
SAS常数值包括:
∙数字;
∙引号括起来的字符串;
∙其他特殊记号
SAS常数的5种类型:
∙数值常数;
∙字符常数;
∙日期时间数值常数;
∙十六进制数值常数和字符常数;
1.数值常数
数值常数的表示格式包括:
∙标准格式:
1,01,+1,-1,1,1
∙科学计数法:
1,1e11,1.2e
∙十六进制格式:
1ex,12x,9x
2.字符常数
字符常数通常由单引号括起来的1~32767个字符串组成。
如果字符常数内含有引号,引用时,要么它的引号用两个连续的单引号,要么用一个双引号。
3.日期时间常数
将日期时间值表示为常数时,要使用相应的格式值。
格式值带单引号,后面跟一个D(日期),T(时间),DT(日期时间)。
2.4.2SAS算符
1.算术算符
表达式中有一个运算对象是缺失值时,结果也是缺失值。
运行结果:
2.比较算符
比较准则:
∙数值和字符都可以
∙结果为真赋值为1,假赋值为0;
∙字符值从左到右逐个按ASCII码排列顺序进行比较
∙缺失值参加比较时。
它比任何有效值都小。
ifx<
ythenx=5;
elsec=12;
3.逻辑运算符
4.其他运算符
5.运算次序
∙先计算括号里面的表达式
∙先执行较高优先级的运算
∙相同优先级的算符,先执行左边的运算。
2.5SAS变量
2.5.1变量类型
SAS变量分为数值变量和字符变量
1.数值变量
数值变量是SAS系统以浮点(floating-point)方式存储的数据,数值变量包括日期和时间。
2.字符变量
字符变量可以由阿拉伯字母、数字0~9以及其他一些特殊的字符组成。
2.5.2变量属性
SAS变量的属性包括长度、输入输出格式和标签,未设定属性的变量在他们第一次出现时由系统给出。
2.5.3变量列表以及其缩写规则
许多的SAS语句都需要规定变量,即按顺序列出变量名。
了解变量列表的缩写规则,会克服复杂变量引用带来的麻烦。
SAS程序中规定了完整的变量列表后,就可以使用缩写的变量列表。
2.5.4创建变量
DATA步骤创建变量的方式包括:
∙使用赋值语句;
∙使用INPUT语句;
∙使用FORMAT或INFORMAT语句;
∙使用LENGTH语句;
∙使用ATTIRB语句
1.使用赋值语句
如果等号左边的变量不存在于数据集中,则赋值语句会产生一个新的变量,在没有规定明确格式的情况下,新的变量格式采用系统默认的格式。
dataa;
x=1;
run;
/*数据集a中有个变量x,值为1*/
2.使用INPUT语句
例:
3.使用FORMAT或INFROMAT语句
2.5.5变量类型转换
1.字符自动转换为数值
2.函数INPUT将字符转换为数值
3.数值自动转换为字符
4.函数PUT将数值转换为字符
2.5.6自动变量
自动变量是由数据步语句自动创建的。
这些自动变量被加入到程序数据向量(PDV)中,但是并不输出到数据集中,自动变量在重复过程中被保留,而不是被设定为缺省。
2.6错误类型与处理
SAS系统能够检查出错误类型有:
∙句法错
∙词义错
∙运行错
∙数据错
∙与宏有关的错
SAS系统提交含有错误的程序后,LOG窗口会显示的信息有:
∙出错的词;
∙错误的可能位置
∙对错误的说明
2.6.1句法错
句法(SYNTAX)错误是由程序含有不符合SAS语言的规则引起。
最常见的语法错误有:
∙关键词拼写错误
∙遗漏RUN语句
∙引号或括号不配对
∙选项无效
日志信息:
2.6.2词义错
词义错的类型有:
∙变量名拼写错误
∙不正确的引用
log运行日志:
2.6.3运行出错
经常运行出错的情况有:
∙INPUT语句与数据不匹配
∙非法的数学运算
∙对BY组分析处理时没有相应的分类排序
∙引用不存在的数组元素
∙用INFILE和FILE语句打开或关闭文件时出错
∙函数的自变量不合法
LOG窗口显示的运行错误信息包括:
∙一个出错信息
∙存储在输入缓冲区中的值
∙发生错误程序数据向量的内容
∙用NOTE揩油的一个注解
2.6.4数据错
当数据不适合的相应的SAS语句时,就会报错。
带有INPUT语句的SAS程序可能产生数据错。
LOG窗口显示的数据错信息包括:
∙一个注释描述这个错误
∙存储在程序数据向量里的值
日志窗口信息:
2.7SAS输出
1.SAS日志
SAS日志信息包括:
∙提交的运行的程序语句
∙程序创建的数据集
∙程序运行过程中的注释、警告或错误信息;
∙每个数据集包括的变量和观测的个数;
∙每个步骤运行的时间
2.程序结果
绝大多数SAS过程步和一些数据步的结果,是可以发送文件,或者打印出来,使用ODS的话,还可以将结果输送到网页中。
3.SAS控制台日志
激活SAS日志后,当系统初始化或结束重大错误时才会用到SAS控制日志。
2.8SAS程序
SAS程序由多个SAS语句构成,SAS程序中语句可以分为两类步骤:
2.8.1书写规则
SAS程序由SAS语句构成。
1.SAS语句的书写规则灵活自由:
∙语句可在行的任一列开始;
∙一个语句可以分写为多行
∙多个语句可以写在同一行
∙语句中各项之间至少用一个空格或特殊字符隔开。
2.应该遵守的书写规则
∙不同程序步间留空行;
∙每条语句都要另起行
3。
注释语句的两种形式
∙/*注释内容*/
2.8.4数据步
数据步用来输入数据。
∙在数据步中,可以创建SAS数据集(包括SAS数据文件和数据视图)
∙数据步可以使用的输入数据源、外部文件或SAS数据集,然后对这些数据进行处理。
2.8.3过程步
过程步通过一系列SAS语句来调用和执行程序,通常以一个SAS数据集作为输入数据。
使用过程步可以对数据集中的数据进行分析,生成报表和其他结果,也可以修改过程步使其只输出所需要的结果。
2.9SAS词段的使用和命名规则
SAS名称是一系列的字母和下划线开头的字符的集合,SAS名称可以报考字母、下划线、数字,并且最大可以达到32767个字符。
多数情况下,SAS名称都是8个字符。
SAS名称不区分大小写,一般处理为大写字符。
SAS名的类型如下:
∙逻辑库名
∙数据集名
∙变量名
∙格式名
∙过程名
∙数组名
∙语句标号名
∙特殊文件名
∙其它名
2.9.2其他SAS词段
1。
文本词段
包含在单或双引号之间的1-32767个字符组成。
2。
数值
有由数字组成,并带有一些特殊符号。
特殊字符
出去空格、字母数字之外的键盘字符。
感谢下载!
欢迎您的下载,资料仅供参考
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SAS 编程基础 编程 基础