版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第4章章 SAS数据步的建立数据步的建立数据步概述v数据步是数据步是SAS系统处理数据的核心部分,是系统处理数据的核心部分,是 SAS系统用来对外部数据文件或其他数据库系统用来对外部数据文件或其他数据库中的表数据或已经生成的数据集进行处理的中的表数据或已经生成的数据集进行处理的过程,其目的是生成过程,其目的是生成SAS能识别的数据。能识别的数据。v数据步处理完成后生成的数据存储到逻辑库数据步处理完成后生成的数据存储到逻辑库对应目录中,对应目录中,SAS其他模块或过程步调用数其他模块或过程步调用数据步生成的数据,进行数据分析据步生成的数据,进行数据分析。数据步的作用v处理外部数据文件或数据库中
2、的表数据或对处理外部数据文件或数据库中的表数据或对已经生成的数据集进行再处理等,数据步结已经生成的数据集进行再处理等,数据步结束后生成数据集。束后生成数据集。数据步基本语句应用v数据步以数据步以“data”关键字为开始标志,以关键字为开始标志,以“run”语句为结束标志,每个语句的结束符语句为结束标志,每个语句的结束符号为号为“;”。v数据步语法:数据步语法:vData ;vSAS 处理数据集语句;处理数据集语句;vRun;表4-1 数据集操作说明数据步操作语句数据步操作语句 功功 能能data创建数据集开始标志数据集名指定创建的数据集名,省略此项为SAS默认数据集名参数选项指定设置数据集的选
3、项,如keep, drop, firstobs=SAS处理数据集语句对数据集读入、复制、修改和合并等基本语句run创建数据集结束标志表4-2 数据集变量具有的属性 变变 量量 属属 性性变量名以字母或下划线开始,可以加入数字构成类型数值型和字符型两种类型取其一长度指定变量长度,默认为8字节,小于等于200输入格式w.,字符型加,w为总长度,d为小数位数输出格式w.,字符型加,w为总长度,d为小数位数数据集中的变量数据集中的变量v数据步中所创建数据集中的变量是具有属性数据步中所创建数据集中的变量是具有属性的,一个完整的数据集生成过程中需要先对的,一个完整的数据集生成过程中需要先对变量属性进行识别
4、。数据集中的变量具有前变量属性进行识别。数据集中的变量具有前面的属性。面的属性。v数据集中所定义的变量具有变量名、类型、数据集中所定义的变量具有变量名、类型、长度、输入格式和输出格式等属性。长度、输入格式和输出格式等属性。数据集与逻辑库的关系数据集与逻辑库的关系v数据步动态执行的过程中所创建的数据集对应存储数据步动态执行的过程中所创建的数据集对应存储到逻辑库中,这是到逻辑库中,这是SAS系统管理数据集的方式,通系统管理数据集的方式,通过逻辑库可以找到此逻辑库下具有的数据集。过逻辑库可以找到此逻辑库下具有的数据集。v数据集对应逻辑库分为临时逻辑库与永久逻辑库两数据集对应逻辑库分为临时逻辑库与永久
5、逻辑库两类,数据集默认存储在类,数据集默认存储在work临时逻辑库中,临时逻辑库中,SAS系系统关闭退出时数据集删除;对于需要永久保存的数统关闭退出时数据集删除;对于需要永久保存的数据集要存储到所建立的永久逻辑库中,通过永久逻据集要存储到所建立的永久逻辑库中,通过永久逻辑库把数据集存储到对应的物理路径文件夹下,如辑库把数据集存储到对应的物理路径文件夹下,如表表4-3所示所示.表4-3 逻辑库与数据集的关系逻逻 辑辑 库库 数数 据据 集集work数据集存储到临时逻辑库,退出SAS系统数据消失永久逻辑库数据集永久存储到逻辑库对应物理路径数据集与逻辑库的关系数据集与逻辑库的关系v(2)数据集存储到
6、永久逻辑库中。数据集存储到永久逻辑库中。v 实际开发中经常把数据集永久保存下来,存储到指实际开发中经常把数据集永久保存下来,存储到指定目录,需要指定永久逻辑库名,数据集存储到永久定目录,需要指定永久逻辑库名,数据集存储到永久逻辑库的方法如下:逻辑库的方法如下: 创建永久逻辑库;创建永久逻辑库; libname 逻辑库名逻辑库名 “物理路径物理路径”; 引用永久逻辑库,逻辑库相当于一座桥,将数据集引用永久逻辑库,逻辑库相当于一座桥,将数据集和物理路径建立起连接,把前者存储到指定的物理路和物理路径建立起连接,把前者存储到指定的物理路径目录下,通过二级链接名建立连接。径目录下,通过二级链接名建立连接
7、。 数据集与逻辑库的关系数据集与逻辑库的关系v引用永久逻辑库,逻辑库相当于一座桥,将数据集引用永久逻辑库,逻辑库相当于一座桥,将数据集和物理路径建立起连接,把前者存储到指定的物理路和物理路径建立起连接,把前者存储到指定的物理路径目录下,通过二级链接名建立连接。径目录下,通过二级链接名建立连接。v逻辑库名逻辑库名定义的永久逻辑库名,不能省略。定义的永久逻辑库名,不能省略。v数据集名数据集名给数据集起的名称。给数据集起的名称。v【注意注意】逻辑库名与数据集名通过英文输入法下的逻辑库名与数据集名通过英文输入法下的“.”v(点点)建立连接。建立连接。vSAS系统退出后数据集存储到永久逻辑库对应的目录,
8、系统退出后数据集存储到永久逻辑库对应的目录,v注意,物理路径如果有错,日志窗口会提示永久逻辑注意,物理路径如果有错,日志窗口会提示永久逻辑库不存在,相应的数据集当然也不会保存。库不存在,相应的数据集当然也不会保存。 创建多个数据集创建多个数据集v数据步中一次可以创建多个数据集,数据集名之间以数据步中一次可以创建多个数据集,数据集名之间以空格分隔,实际应用中经常根据条件选择不同的数据空格分隔,实际应用中经常根据条件选择不同的数据输出到不同的数据集。输出到不同的数据集。v语法格式:语法格式: data 数据集名数据集名1 数据集名数据集名2 ;v【注意注意】数据步依次创建多个数据集,数据集名之间数
9、据步依次创建多个数据集,数据集名之间以空格分隔。以空格分隔。创建多个列变量的数据集创建多个列变量的数据集v对于有上百个列变量的数据,为了节省存储,所创建对于有上百个列变量的数据,为了节省存储,所创建的数据集有些列变量是保留的,有些列变量不需要保的数据集有些列变量是保留的,有些列变量不需要保留,应删除。数据步中通过留,应删除。数据步中通过keep语句保留需要的列变语句保留需要的列变量。数据集引用量。数据集引用keep语句的语法格式如下:语句的语法格式如下:vData 数据集名数据集名 (keep=变量名变量名1 变量名变量名2 )v功能:功能:keep=语句指明所创建的数据集要保留的变量语句指明
10、所创建的数据集要保留的变量名,多个变量名之间以空格分隔。名,多个变量名之间以空格分隔。删除多个列变量删除多个列变量v对于所创建的数据集,如果删除的列变量少,保留的对于所创建的数据集,如果删除的列变量少,保留的列变量多,为了程序的可读性,数据步中通过列变量多,为了程序的可读性,数据步中通过drop语语句删除不需要的列变量。句删除不需要的列变量。drop语句实现与语句实现与keep语句语句功能相反的作用。功能相反的作用。vDrop语句删除数据集变量的语法格式如下:语句删除数据集变量的语法格式如下:vData 数据集名数据集名 (drop=变量名变量名1 变量名变量名2 )v功能:功能:drop=语
11、句指明所创建的数据集要删除的变量语句指明所创建的数据集要删除的变量名,多个变量名之间以空格分隔。名,多个变量名之间以空格分隔。Keep 和和drop命令命令v【注意注意】keep 参数选项和参数选项和drop参数选项不能在一个参数选项不能在一个数据集中同时使用。数据集中同时使用。Keep语句与语句与drop语句对变量的语句对变量的处理方式相同,只是处理方式相同,只是keep语句保留变量,语句保留变量,drop语句语句剔除变量。剔除变量。_NULL_v数据步只是做数据处理,不需要建立数据集,应将数数据步只是做数据处理,不需要建立数据集,应将数据集的名字命名为据集的名字命名为“_NULL_”, 告
12、诉告诉SAS系统不创建系统不创建v数据集,只是做数据处理。数据集,只是做数据处理。v数据集只做数据处理的语法格式:数据集只做数据处理的语法格式:vData _NULL_;v功能:功能: 创建数据集中的语句只做数据处理,不创建数创建数据集中的语句只做数据处理,不创建数据集,信息输出到日志窗口。据集,信息输出到日志窗口。 数据步修改与选择观测语句数据步修改与选择观测语句v数据步中可进行计算、数据集修改、对数据集观测子数据步中可进行计算、数据集修改、对数据集观测子集进行选择及输出控制等功能。集进行选择及输出控制等功能。v(1)delete 语句语句vDelete语句可以清空数据集,将符合条件的数据从
13、数语句可以清空数据集,将符合条件的数据从数据集中删除。据集中删除。v(2)stop语句语句vStop语句对处理的当前数据步进行强制停止,当前数语句对处理的当前数据步进行强制停止,当前数据步遇到据步遇到stop语句,当前正在处理的数据集不会被添语句,当前正在处理的数据集不会被添加到新数据集。加到新数据集。数据步修改与选择观测语句数据步修改与选择观测语句语句语句功能功能delete删除数据集中的观测记录,可以清空数据集删除数据集中的观测记录,可以清空数据集stop结束当前数据集结束当前数据集abort停止当前数据步停止当前数据步where从数据集中选择符合条件的观测记录从数据集中选择符合条件的观测
14、记录output输出观测输出观测remover删除数据集中的观测记录删除数据集中的观测记录replace替换观测值替换观测值call对对SAS子程序进行调用子程序进行调用missing定义缺失值的符号定义缺失值的符号if取数据集子集语句取数据集子集语句list使日志中列出输入行使日志中列出输入行数据步修改与选择观测语句数据步修改与选择观测语句v(3)abort 语句语句v当数据步执行过程中遇到当数据步执行过程中遇到abort语句时可以终止当前语句时可以终止当前数据步,跳出当前数据步,继续执行其他数据步或过数据步,跳出当前数据步,继续执行其他数据步或过程步。程步。v(3)where语句语句vwh
15、ere语句对处理的数据集根据条件过滤,语句对处理的数据集根据条件过滤,where语语句后面可以匹配的表达式如下表所示:句后面可以匹配的表达式如下表所示:Where语句匹配的表达式语句匹配的表达式表达式表达式 功功 能能变量名变量名=变量值变量值 将符合变量名中对应变量值的记录取出来将符合变量名中对应变量值的记录取出来Between and 取出此范围内的数值观测记录取出此范围内的数值观测记录Is null| Is missing 将变量为空或缺失值的观测记录取出来将变量为空或缺失值的观测记录取出来like 选择匹配的观测记录选择匹配的观测记录Same and 增加条件语句增加条件语句in 取取
16、in语句中的观测记录语句中的观测记录数据集整理数据集整理v数据集整理是对已经生成的数据集进行再处理,常用数据集整理是对已经生成的数据集进行再处理,常用数据集整理语句见下表:数据集整理语句见下表:v表表4-6 常用数据集整理语句常用数据集整理语句数据集整理语句数据集整理语句 功功 能能Set语句语句复制数据集和纵向合并两个或多个数据集复制数据集和纵向合并两个或多个数据集Merge语句语句横向合并两个或多个数据集横向合并两个或多个数据集Update语句语句通过一个数据集更新另一个数据集通过一个数据集更新另一个数据集Modify语句语句修改数据集,如添加变量、删除数据修改数据集,如添加变量、删除数据
17、Set语句整理数据集语句整理数据集vSet语句对生成一个或多个数据集进行处理,可以完成语句对生成一个或多个数据集进行处理,可以完成对多个数据集复制或纵向合并等功能。在读取数据集时对多个数据集复制或纵向合并等功能。在读取数据集时严格按照数据集动态生成机制处理数据集,每个观测先严格按照数据集动态生成机制处理数据集,每个观测先读入读入PDV指针中,多个数据集需要多个指针中,多个数据集需要多个PDV指针控制,指针控制,处理机制不变。处理机制不变。v语法:语法:vset ;v功能:复制数据集或纵向合并数据集。功能:复制数据集或纵向合并数据集。表4-7 set语句说明setSet关键字,实现复制数据集或纵
18、向合并数据集关键字,实现复制数据集或纵向合并数据集数据集名数据集名 指定复制或合并的数据集名指定复制或合并的数据集名选项选项如如nobs=变量名,记录数据集的总观测数,赋值给变量名,记录数据集的总观测数,赋值给此变量。此变量。End=变量名,规定临时变量,作为文件结束的标识变量名,规定临时变量,作为文件结束的标识Point=变量名,指定读入数据集观测序号。变量名,指定读入数据集观测序号。Key=索引名,创建一个新自动变量索引名,创建一个新自动变量_iorc_, 显示显示I/O操作的观测序号,从数据集索引开头开始搜索。操作的观测序号,从数据集索引开头开始搜索。Set语句整理数据集语句整理数据集v
19、【注意注意1】Set语句处理数据集时是先对原数据集读取,语句处理数据集时是先对原数据集读取,把读取的数据逐条放到把读取的数据逐条放到PDV中,然后输出到一个新数据中,然后输出到一个新数据集中,占用了两个存储空间,一个原数据集存放空间和集中,占用了两个存储空间,一个原数据集存放空间和一个新数据集存放空间,直到数据处理完成,才删除原一个新数据集存放空间,直到数据处理完成,才删除原始数据集。始数据集。Set处理数据集的过程中产生了一个副本数处理数据集的过程中产生了一个副本数据集。据集。v【注意注意2】set语句纵向合并数据集的条件是两个数据集语句纵向合并数据集的条件是两个数据集的结构必须一样,列变量
20、相同。合并后的数据集为两个的结构必须一样,列变量相同。合并后的数据集为两个数据集记录的和。数据集记录的和。merge语句整理数据集语句整理数据集v语法:语法:vmerge ;v功能:实现数据集的横向合并。功能:实现数据集的横向合并。merge merge 实现数据集的横向合并实现数据集的横向合并数据集名数据集名指定合并数据集的名称指定合并数据集的名称选项选项处理数据用到的选项,如处理数据用到的选项,如keep=、drop=、rename=、in=, 等等等等Merge 与set语句的区别vMerge语句实现横向合并;set语句是将两个或多个纵向数据集纵向合并,set语句还有赋值数据集的功能。
21、Merge 语句vmerge语句在横向合并数据集时分为一对一合并和匹配合并两种。 (1)merge一对一横向合并数据集。 (2)merge语句匹配合并,即根据by语句指定的公共变量的值实现横向合并。modify 语句整理数据集v语法:modify 数据集名 ;v功能:对已经创建好的数据集进行修改,不能修改SAS数据集的描述部分,如添加一变量。可以对已经存在的数据集进行替换、删除和追加观测。Modify语句可通过datasets过程修改数据集。表4-15 modify 语句说明对应项对应项 说说 明明modifyModify修改数据集的功能修改数据集的功能数据集名数据集名指明指明modify语句
22、要修改的数据集,必选项语句要修改的数据集,必选项选项选项可选项,常用选项如可选项,常用选项如nobs=、end=、key=和和uniquemodify语句语句vModify 语句修改数据集中某个变量的属性,可以对变语句修改数据集中某个变量的属性,可以对变量类型进行修改。量类型进行修改。Modify语句修改主数据集时是在语句修改主数据集时是在vPDV指针中直接修改,不需要另外输出到第二个数据集,指针中直接修改,不需要另外输出到第二个数据集,v不需要产生副本数据集。不需要产生副本数据集。Update语句整理数据集v语法: vupdate 主数据集 副数据集 ;vBy 变量名;v功能:将一个数据集更
23、改为另一个数据集,可以添加新变量。表4-16 Update语句说明对应项对应项 说说 明明updateUpdate更新数据集语句主数据集Update语句要修改更新的数据集副数据集更新主数据集用到的数据集选项对数据集处理时根据需求设置选项,如keep=、drop=byBy语句指定共同变量名去更正主数据集变量名主数据集和副数据集具有唯一值的共同变量注意注意v【1】update语句一定要和语句一定要和by语句一起使用,主数据集语句一起使用,主数据集中的共同变量必须是唯一值,副数据集根据共同变量中的共同变量必须是唯一值,副数据集根据共同变量v相同的观测修改主数据集。相同的观测修改主数据集。v【2】up
24、date语句修改数据集先对数据集排序,与语句修改数据集先对数据集排序,与byv语句一起使用。主数据集中有语句一起使用。主数据集中有by语句指定的变量值必语句指定的变量值必须是唯一值,当主数据集根据须是唯一值,当主数据集根据by语句后面指定的公共语句后面指定的公共列变量进行更新时,如果主数据集里根据列变量更新列变量进行更新时,如果主数据集里根据列变量更新v时有重复记录,只更新重复记录的一条记录。时有重复记录,只更新重复记录的一条记录。4.2 数据步读DAT格式文件建立数据集v对于外部文件,以扩展名“.dat” 格式存储的文件称为DAT格式文件。这种文件的读取要根据数据文件记录数据的方式而定,数据
25、之间有分隔符和无分隔符这两种方式,在读取数据时的方式是不一样的。vDat格式文件和txt文本文件性质一样,只是dat格式文件在实际开发中更常遇到,dat文件存储的好处是它是二进制文件数据,其与txt格式的区别是txt格式文件是字符文件。Dat格式文件建立数据集(1)数据之间没有分隔符的dat格式文件,按行存储的每条记录之间无分隔符号。4.3 数据步读Excel格式文件建立数据集v对于excel生成的外部数据文件,通过数据步建立数据集时需要先通过SAS过程步中的import过程生成SAS可以识别的数据集,然后再根据需求对生成的数据集进行处理,这样过渡到数据步,就可以运用SAS函数对字段进行处理,
26、以满足业务需求。4.4 数据步读主机COBOL语言生成数据集文件建立数据集vCOBOL是Common Business Oriented Language(通用商业语言)的缩写,是一种面向过程的高级程序设计语言。COBOL语言主要用于数据处理,是目前国际上应用最广泛的 一种高级语言,是面向商业的通用语言。它采用300多个英语单词作为保留字,以一种接近于英语书面语言的形式来描述数据特性和数据处理过程,便于理解和学习。COBOL语言的主要特点v1.面向文件,COBOL语言是一种典型的按文件系统方式进行数据处理的语言。v2.接近英语自然语言,COBOL语言中大量采用普通英语词汇和句型。v3. 通用性强,在COBOL程序中数据、运行环境和处理过程是分别单独描述的。v4.功能模块化
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年四年级语文上册第一单元师生1.1师恩难忘作业设计北师大版
- 2024-2025学年四年级语文下册第五组15触摸春天教学反思新人教版
- 统编版六年级下册语文第一单元习作家乡的风俗指导 附范文5篇
- 2025至2030年中国无核密度仪数据监测研究报告
- 中考数学二轮培优题型训练压轴题29填空压轴题(几何篇)(原卷版)
- 2025至2031年中国吊式灯箱行业投资前景及策略咨询研究报告
- 2025至2030年中国自动遥控车库门数据监测研究报告
- 2025至2030年开式螺旋扣项目投资价值分析报告
- 2025至2030年中国硅碳棒碳化硅电热元件数据监测研究报告
- 2025至2030年中国瘦身仪数据监测研究报告
- 2025年1月浙江省高考政治试卷(含答案)
- 教体局校车安全管理培训
- 湖北省十堰市城区2024-2025学年九年级上学期期末质量检测综合物理试题(含答案)
- 导播理论知识培训班课件
- 行车起重作业风险分析及管控措施
- 空气能安装合同
- 电厂检修安全培训课件
- 初二上册的数学试卷
- 2025年上半年重庆三峡融资担保集团股份限公司招聘6人高频重点提升(共500题)附带答案详解
- 四大名绣课件-高一上学期中华传统文化主题班会
- 大模型关键技术与应用
评论
0/150
提交评论