《SAS编程基础知识》PPT课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《SAS编程基础知识》PPT课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SAS编程基础知识 SAS 编程 基础知识 PPT 课件
- 资源描述:
-
1、第第2章章 SAS编程基础编程基础清华大学经管学院清华大学经管学院 朱世武朱世武SAS语言组件语言组件 SAS 文件文件 由SAS创建、储存、管理的文件就是SAS文件。所有的SAS文件都保存在SAS逻辑库中。最常用的SAS文件:l SAS数据集l SAS目录册 SAS外部文件外部文件 SAS不能直接识别的数据文件称为外部文件。外部文件一般用于储存数据。外部文件一般用来储存:l 要读入SAS数据文件的原始数据l SAS程序语句l 过程步输出DBMS文件文件SAS软件可以和其它数据库产品进行数据文件转换。SAS语言元素语言元素SAS语言由语句、表达式、选项、格式、以及和其它编程语言名称类似的函数组
2、成。SAS有两种语句l 数据步l 过程步SAS文件系统文件系统 SAS逻辑库由一组SAS文件组成。SAS软件系统的信息组织有两层,第一层是SAS逻辑库,第二层是SAS文件。SAS逻辑库是一个逻辑概念,本身不是物理实体,它对应的实体是操作系统下一个文件夹或几个文件夹中的一组SAS文件。逻辑库逻辑库 逻辑库名与引用逻辑库名与引用SAS文件文件 逻辑库名是SAS名,长度不能超过8个字节。如SAS逻辑库:ResDat,SASHELP,SASUSER,WORK等。建立SAS逻辑库的方法:l 用菜单操作;l 用LIBNAME语句。语句格式:LIBNAME libref SAS-data-library 语
3、法说明:Libref 逻辑库名 SAS-data-library 逻辑库对应的物理地址Engine 引擎名称(缺失时为默认引擎)例例2.1 用用LIBNAME语句创建语句创建SAS逻辑库。逻辑库。Libname ResDat d:ResDat;多个个文件夹创建一个多个个文件夹创建一个SAS逻辑库:逻辑库:Libname a(d:resbd,d:resfin);例例2.2 引用非临时库的SAS文件时必须使用两级命名方式,而引用临时库的SAS文件时,可以直接使用文件名,效果等同于work.文件名。data=ResDat.Idx000001;临时库和永久库临时库和永久库临时逻辑库临时逻辑库是指它的内
4、容只在启动SAS时存在,退出SAS时内容完全被删除。系统缺省的临时逻辑库为WORK.永久逻辑库永久逻辑库是指它的内容在SAS关闭对话之后仍旧保留,直到再次修改或者删除。SAS系统中除了WORK以外的逻辑库都是永久库。库引擎库引擎库引擎是一组规定格式向逻辑库读写文件的内部指令。利用库引擎SAS系统可以直接访问其它SAS版本创建的SAS文件和外部数据库格式的数据文件。每个SAS逻辑库都对应一个库引擎。库引擎功能包括:l 读取和写入数据;l 列出库中的文件;l 删除和重命名文件。SAS通过不同库引擎读写不同格式的文件。每个SAS引擎都有着自身的运行特性。比如l 运行由旧版本SAS软件生成的文件;l
5、读取由其它软件生成的数据库文件;l 存储和访问硬盘或者tape上的文件;l 决定文件中的变量和观测如何放置;l 将文件从物理位置地址读取放入到内存;l 在不同的操作系统之间传输SAS文件。数据集数据集 SAS数据集有两类:l SAS数据文件l SAS数据视图SAS数据文件同时描述信息和存储数据值。SAS数据视图并不实际存储数据,而只是一个查询语句。class是数据视图class1是数据文件变量观测SAS数据集组成部分包括:l 描述信息;l 数据值。数据文件数据文件SAS数据文件是包含描述信息和数据值的SAS数据集。一般来说,SAS数据文件又分为:l 普通的SAS数据文件:SAS格式的数据文件。
6、l 接口数据文件:以其它数据软件格式储存数据的数据文件。SAS提供对应的引擎来对这些文件中的数据进行读取和编写,如ORACLE DB2,SYBASE,ODBC,BMDP,SPSS和OSIRIS。虽然数据文件与视图文件在应用时没有任何区别。但这虽然数据文件与视图文件在应用时没有任何区别。但这两者之间也有一定的差异。两者之间也有一定的差异。l 前面已经提到二者最大的不同就是数据文件实际储存数值,视图只是包含表的描述信息以及一组用来读取数视图只是包含表的描述信息以及一组用来读取数据的查询语句,并不实际存储数据据的查询语句,并不实际存储数据。l 数据文件是静态的,而视图则是动态的。l SAS数据文件可
7、以被索引,索引可以使SAS在搜索数据的时候变得更快。而SAS视图不能被索引。l 数据视图数据视图 SAS数据视图就是用来从其它文件中读取数据的一种SAS文件。它只包括数据集的描述信息,如数据类型、变量长度等,再加上如何从其它文件中提取数据所要求的信息。SAS视图一般分为两种:视图一般分为两种:l Native View,由数据步或者SQL过程创建。l Interface View,由SAS/ACCESS软件创建。Interface View可以读写其它数据库管理系统(DBMS)中的数据库,如DB2或 ORACLE数据库等。数据视图的使用优势数据视图的使用优势l 可以使用连接多个表的视图来合并数
8、据集。l 数据视图可以节省大量的空间。l 数据视图可以保证读取的数据集永远都是最新的。l 更改一个数据视图只需要改变这个视图的查询语句。l 使用SAS/CONNET软件,视图可以将多个不同主机电脑上的数据文件整合,以整体的形式呈现。数据步视图数据步视图数据步视图包含用于从多个数据源中读取数据的数据步程序,这些数据源包括:l 原始数据文件;l SAS数据文件;l PROC SQL视图;l SAS/ACCESS 视图;l DB2,ORACLE,或者其它DBMS数据。语法格式:语法格式:Data 数据集名称/view=数据集名称;SAS语句.;Run;例例2.3 创建数据步视图。创建数据步视图。Da
9、ta Resdat.class1/view=Resdat.class1;set Resdat.class;run;1 data Resdat.class1/view=Resdat.class1;2 Resdat.class1;3 run;NOTE:DATA STEP 视图已保存在文件 Resdat.class1 中。NOTE:存储的 DATA STEP 视图无法在不同的操作系统下运行。日志中信息PROC SQL视图视图PROC SQL视图为一个带有名称的PROC SQL查询。它可以读写的数据源同数据步视图。proc sql;create view resdat.e as select*from
10、 resdat.class;quit;日志中信息:4 proc sql;5 create view resdat.e as select*from resdat.class;NOTE:SQL 视图 resdat.E 已定义。6 quit;存储编译的存储编译的DATA步程序步程序语句格式 DATA data-set-name(s)/PGM=stored-program-name();data-set-name数据集名称stored-program-name存储编译的DATA步程序名称password-option给DATA步程序名称分配一个密码source-option 存储或编译源码 语法说明
11、目录册文件目录册文件SAS目录册文件是特殊的SAS文件,用来存放多种不同种类的信息文件。这些信息文件都很小,每个信息文件都被称为一个条目(entry),条目有多种不同的类型。一些目录条件包含一些系统信息如功能键定义信息。SAS语言元素语言元素 数据集选项数据集选项数据集选项用在SAS数据集名称后的括号中,多个选项之间用空格隔开。括号中的数据集选项可以对数据集进行如下操作:l 重新命名变量;l 选择需要的观测;l 输出数据集中保留或删除的变量;l 数据集加密。语句格式:Data-set-name(Data-set-options)(option-1=value-1)例例2.4 数据集选项举例。数
12、据集选项举例。data scores(keep=team game1 game2 game3);/*scores中只保留team,game1game2 game3这4个变量)proc print data=new(drop=year);/*去掉变量year*/set old(rename=(date=Start_Date);/*将date改名*/输入和输出格式输入和输出格式 输出格式输出格式format是SAS用来确定如何输出或写出数据值的指令,用FORMAT控制数据值在输出时所使用的格式。输入格式输入格式informat是SAS用来确定如何将数据读入变量的指令。如果在输入或输出数据集的过程中
13、没有设定变量的输入和输出格式,系统会自动使用原数据集中的这个变量原有的输入输出格式。语句格式:format.informat.格式说明:$指定为字符格式,如果该项空缺,则默认是数值格式format规定有效SAS输出格式Informat规定有效SAS输入格式w设定输入输出的长度,一般来说是数据所占的列的数目d设定数值数据中小数点的位数函数和函数和CALL子程序子程序 SAS函数函数对数据参数进行计算处理并返回一个值。大多数函数所使用的参数是由用户提供的,一小部分函数使用系统提供的参数。CALL子程序子程序用来改变变量值,或执行一些系统功能。CALL子程序类似于函数,但是不能在赋值语句中使用,所有
14、的SAS CALL子程序都只能被CALL语句使用。语句语句SAS语句就是一系列关键词、SAS名称、算符以及特殊字符的组合。所有的SAS语句以分号结尾。SAS语句一般分为数据步语句与过程步语句,以及可以用在SAS程序任何地方的全局通用语句。KEYWORD parameteroptions;关键词关键词 参数 选项;其中:粗体-必须按显示形式书写的关键词;白正体-用户提供的信息;-括号内的信息可选;|-任选。参数PARAMETER不是任选项,不用括号,OPTIONS是选项关键词。例例2.5 有效的有效的SAS语句。语句。data data1;/*data为关键词,data1为SAS名*/data
15、_null_;/*_null_为SAS名*/put name$8.;/*put为关键词,name为SAS名,$8.为输出格式*/format date yymmdd10.;proc means data=ResDat.class;/*proc为关键词,means为过程名*/infile“d:ResDatclass.txt”;do I=1 to 100;x=y+1;sumx+x;run;SAS系统选项系统选项 系统选项用来控制SAS的运行方式,如SAS系统启动,硬件软件的连接,SAS程序的运行等。语句格式:OPTIONS option(s);option 设定一个或多个系统选项,任何系统选项都有
16、一个默认设置。例例2.6 设定选项设定选项OPTIONS obs=5;/*取数据集前五个观测*/Data one;Set ResDat.class;Run;表达式表达式 表达式由一系列操作符和操作对象构成,产生一个目标值。使用表达式可以对变量作变换和赋值,创建新变量,计算新数值以及控制条件语句的运行等。操作对象有:l 变量;l 常数。操作符包括:l 算术算符;l 比较算符;l 逻辑算符;l SAS函数;l 括号。SAS常数常数 SAS常数是SAS系统可以识别的一些固定值。数值常数数值常数 例例2.7 数值常数。数值常数。1,5,1.23,1.2E23,2E4,20000数值常数可以有多种格式展
17、示。标准格式标准格式:1,01,+1,-1,1.1;科学计数法:科学计数法:1.1e11,1.2e-12;十六进制格式:十六进制格式:1cx,12x,9x字符常数字符常数 例例2.8 引用带引号的字符常数。引用带引号的字符常数。name=TOM”S;name=”TOMS”;/*例中,两语句等价。*/要注意的是,字符常数是由引号括起来的,但是字符变量的名称则没有引号,也就是说字符常数不能作为字符变量的名称。日期时间常数日期时间常数 例例2.9 引用日期时间常数。引用日期时间常数。1jan2000d;01jan00d;9:25t;18jan00:9:27:25dtif begin=01JAN200
18、0d then end=31DEC2000d;SAS算符算符SAS算符是一些符号,其作用是进行计算、比较等。算术算符算术算符 例例2.10 算术算符应用。算术算符应用。data;X=3.5*2.5;put X=;Y=9+1/3;put Y=;X=.;Y=1+X;put Y=;/*Y也是缺失值*/run;输出结果:X=22.917651494Y=9.3333333333Y=.比较算符比较算符 例例2.11 比较算符应用。比较算符应用。if xy then c5;else c12;比较算符经常出现在IF语句里。比较准则:l 数值和字符都可以比;l 结果为真赋值1,假赋值0;l 字符值从左到右逐个按
19、ASCII码排列序列进行比较;l 缺失值参加比较时,它比任何有效值都小。逻辑算符逻辑算符 算符等价形式含义AND与|OR或 NOT非其它算符其它算符:连连接接字字符符算算符符“|”例例2.12 连接多个变量和常数。连接多个变量和常数。data;set ResDat.lstkinfo;result=%a(|stkcd|,|stknm|);put result;run;SAS变量变量 SAS变量分为数值变量和字符变量。数值变量数值变量数值变量是SAS系统以浮点(floating-point)方式存储的数据变量,数值变量包括日期和时间。数值变量的值只能是数值。字符变量字符变量字符变量可以由阿拉伯字母
展开阅读全文