欢迎来到天天文库
浏览记录
ID:58728506
大小:333.00 KB
页数:77页
时间:2020-10-04
《SAS编程语言ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第2章SAS编程语言SAS语言SAS提供了一种完善的编程语言。类似于计算机的高级语言,SAS用户只需要熟悉其命令、语句及简单的语法规则就可以做数据管理和分析处理工作。因此,掌握SAS编程技术是学习SAS的关键环节。注意:SAS语句不区分大小写。SAS编程语言的基本结构SAS编程语言的结构比较简单,主要由两个步骤,即DATAStep(简称DATA数据步)和PROCStep(简称PROC过程步)组成,data步产生SAS数据集,proc步处理SAS数据集内的数据并输出结果或产生新数据集。程序中的每一行以“;”号表示输入结束,其语句的语法与常见的高级
2、语言语法大体相似,同样包括关键词、运算符号、函数及其参数等基本要素。SAS编程语言的简图Title“…”/*设置标题*/Libname…;/*定义永久数据库*/Data…;/*DATA步*/…;Run;Proc…;/*PROC步*/Run;DATA步和PROC步之间用“run;”或“;”隔开SAS逻辑库逻辑库是数据步(data)和过程步读取数据集或关系数据库中的表或存储路径下对应文件的桥梁。逻辑库定义:逻辑库是SAS用来指向数据集合对应的物理路径,用来告诉SAS数据集或数据文件存储到什么位置的一个逻辑指示。临时逻辑库与永久逻辑库生成一个数据集而
3、不指定逻辑库,SAS默认其存在临时逻辑库Work下面,退出SAS系统时Work逻辑库的数据集会被自动删除,这个新生成的数据集没有保存。人为建立的逻辑库是永久数据库,退出会话后永久逻辑库所对应目录下的数据集仍保留在对应物理位置。SAS自带逻辑库Maps逻辑库:Sashelp逻辑库:存储SAS帮助数据集合数据的永久逻辑库。Sasuser逻辑库:存储用户文件的逻辑库。Work临时逻辑库:存储临时数据集,退出会话后数据集被自动删除。SAS定义逻辑库语法Libname逻辑库名<引擎>物理路径;Libname:定义逻辑库的关键字。逻辑库名:给逻辑库起的名字
4、,长度不超过8字节。引擎:可选项(默认为缺失),如果连接其他引擎如ORACLE、DB2、ACCESS等数据库引擎,就要加上这个引擎名告诉SAS连接该库引擎。物理路径:数据集或数据文件存储的位置。;(分号):结束符标志逻辑库建立实例例1:libnameycr‘d:test’;例2:libnameloadoracleuser=chiranpassord=chiranpath=orcl;load:定义的逻辑库,oracle:连接的数据库引擎,user=登录数据库的用户名,password=登录数据库的密码,path=登录的数据库实例.逻辑库引用建立
5、逻辑库的目的就是引用逻辑库所对应的数据集。在数据步或过程步中通过逻辑库来调用所需要的数据集。逻辑库的引用方法:(1)引用非临时逻辑库的数据集名字使用两级命名方式——逻辑库名.数据集名。(2)引用临时逻辑库(work)的数据集时,可直接使用数据集名。SAS表达式表达式是由一系列算符和运算对象形成的一个指令,它被执行后产生一个目标值。运算对象是变量和常数。表达式分为简单表达式(用一个算符)和复合表达式(使用多个算符)。复杂表达式运算次序的准则:①在括号里的表达式先计算。②较高优先级的运算先被执行。③对于相同优先级的算符,左边的运算先做SAS变量SA
6、S变量有两种类型:数值型和字符型。命名规范:(1)SAS中变量的命名规范以字母(a,b,…,)或下划线“_”开始,后面的字符可以是数字、字母或下划线,最长32字符。字母不区分大小写。(2)定义的变量不能使用系统保留的名称,如“_all_”、“_N_”、“_ERROR_”、“_INFILE_”、“_CHARACTER_”等,(3)不能使用特殊字符(如%、&、#)和空格。变量赋值(1)在数据步(datastep)中通过Input语句将外部文件中的数据、cards或datalines后面的输入数据赋值给变量。(2)在数据步中直接给变量赋值。(3)用I
7、nfile语句获取外部数据文件,在input语句中定义字段变量。【提示】input语句默认读入的字符变量为8字节,超过8字节要用length语句先定义变量并指明长度。【注意】input语句和length语句中定义的字符变量要加$.变量类型转换规则(一)字符型转换为数值型(1)字符型变量和数值型变量做运算或比较运算时,字符型变量自动转换为数值型变量。(2)字符型变量赋值给数值型变量时,字符型变量自动转换为数值型变量。(二)数值型转换为字符型(1)数值型变量赋值给字符型变量时,数值型变量自动转换为字符型变量。(2)数值型变量和字符型变量做字符连接时
8、,数值型变量自动转换为字符型变量。(3)数值型变量用在字符处理函数中时,数值型变量自动转换为字符型变量。宏变量宏变量与其他语言中定义的变量意义一样,在
此文档下载收益归作者所有