SAS系统编程基础培训课程(共107张).pptx
SAS 基础培训课程基础培训课程SAS Institute (Shanghai) Co., Ltd. 1SAS系统系统SAS系统是用于数据分析与决策支持的大型集成式模块化软件包。(其早期的名称为 Statistical Analysis System )2SASSAS系统是用于决策支持系统是用于决策支持的大型集成信息系统的大型集成信息系统SAS系统主要完成以数据为中心的四大任务: 数据访问 数据管理 数据呈现 数据分析3SAS 系统介绍系统介绍DATA4SAS系统的构成系统的构成SAS系统是一个可由几个到二、三十个工具模块及面向行业的子系统组成的可伸缩系统。其模块按功能大体有四类: 数据库及其管理 面向对象的4GL开发平台 各类堪称行业标准的分析工具 方便用户的外层技术(多平台支持,开 放环境,网络计算及分布处理)5SAS 系统软件由模块构成系统软件由模块构成数据库部分:BASE SAS, FSP, ACCESS,.分析核心:STAT, ETS, QC, OR, IML, . . . 开发呈现工具:AF, EIS, GRAPH, . . . 分布处理与数据仓库:CONNECT, WA, .6数据数据进入进入管理管理组织组织利用利用提交信息提交信息(Information Delivery):SAS的核心业务的核心业务信息信息知识知识输出输出SAS系统简介系统简介要 求进入SAS系统发常用命令,切换窗口进Assist和Desktop窗口8启动SAS:在Windows桌面系统下双击SAS图标SAS系统简介系统简介1 SAS 提供的基本运行环境提供的基本运行环境或运行SAS系统目录下(例C:SAS)的可执行程序sas.exe常用的是交互运行方式。也可用提交批作业方式运行的9SAS系统简介系统简介1 SAS 提供的基本运行环境提供的基本运行环境 SAS 为交互方式运行提供的环境显示管理系统下拉菜单(弹出菜单)命令框、工具栏三个基本窗口PROGRAM EDITOR 窗口LOG 窗口,OUTPUT 窗口10SAS系统简介系统简介1 SAS 提供的基本运行环境提供的基本运行环境-三个基本窗口三个基本窗口访问和编辑已有的SAS程序编写新的SAS程序递交SAS程序将SAS程序存为文件是一个基本的窗口,缺省地打开依次记录SAS进程中各程序运行的信息可用命令清空是一个基本的敞口,缺省地打开依次记录程序输出的结果有结果输出时自动转到前台11SAS系统简介系统简介1 SAS 提供的基本运行环境提供的基本运行环境SAS常用的交互式运行方式:用SAS编程实现各种任务用SAS提供的菜单系统实现各种任务 用SAS/ASSIST用SAS桌面系统12SAS系统简介系统简介1 SAS 提供的基本运行环境提供的基本运行环境在交互式操作中用命令指挥显示管理系统、切换窗口和完成各种特定的功能发布命令有四种方式: 在命令框直接键入命令; 使用下拉菜单; 使用工具栏。 按功能键;13SAS系统简介系统简介1 SAS 提供的基本运行环境提供的基本运行环境常用的其它窗口:KEYS 查看及改变功能键的设置LIBNAME 查看已存在的SAS数据库 DIR 查看某个SAS数据库的内容VAR 查看SAS数据集的有关信息OPTIONS 查看及改变SAS的系统设置14SAS系统简介系统简介1 SAS 提供的基本运行环境提供的基本运行环境进入SAS/ASSIST使用工具栏图标发命令ASSIST下拉菜单选 GlobalsASSIST进入SAS桌面系统 发命令DESKTOP 下拉菜单选 Globals Desktop15 SAS系统简介系统简介 2 运行一个简单的运行一个简单的SAS程序程序运行一个简单的 SAS 程序:在 PROGRAM EDITOR 窗口中键入程序:提交程序(SUBMIT)查看 LOG 窗口的信息调出提交的程序(RECALL)并修改,再次提交在 OUTPUT 窗口查看运行结果存储程序16SAS系统对数据的管理系统对数据的管理要 求设定、浏览SAS数据库打开SAS数据集及其变量窗口17SAS系统对数据的管理系统对数据的管理SAS对数据的分析与呈现都是面对SAS数据集进行的SAS数据集是一种SAS文件SAS文件是由SAS系统创建和管理的有特殊结构的文件。包括 SAS数据集和SAS目录册(CATALOG)等18SAS系统对数据的管理系统对数据的管理数据直接输入流行的数据库其它文件格式SAS数据集SAS应用程序19SAS系统对数据的管理系统对数据的管理1 SAS 数据库数据库SAS数据集存储在SAS数据库中SAS数据库还存储其它SAS专用文件SAS数据库文件用两级命名方式定名: libname.SAS-filename (库标记.文件名)SAS数据集SAS数据库20SAS系统对数据的管理系统对数据的管理1 SAS 数据库数据库SAS数据库有永久库和临时库两种临时库:名为WORK,系统自动指定永久库:系统自动指定名为SASUSER,(SASHELP等). 其它可由用户指定21SAS系统对数据的管理系统对数据的管理1 SAS 数据库数据库用工具栏中的图标进入库管理对话窗或键入命令 Dlglib 或 Global Access Display Liberary 可进入库管理窗口浏览库内容和库文件或用LIBNAME命令进入Libname窗口用DIR 命令进入Dir窗口用VAR 命令进入Var窗口22SAS系统对数据的管理系统对数据的管理1 SAS 数据库数据库不同的主操作系统下SAS数据库文件以不同方式与主操作系统下的文件组织相联系在Windows下每个SAS数据库置于某个子目录之中例:SASUSER: C:SASSASUSERWORK: C:SASSASWORKCOURSE: C:USERSZDW23SAS系统对数据的管理系统对数据的管理1 SAS 数据库数据库 设定设定用工具栏中的图标进入库管理对话窗,按下New Library按键使用LIBNAME语句可以指定SAS库标:LIBNAME 库名 SAS数据库挘在Windows环境下:LIBNAME 库名 目录名挘LIBNAME course c:course;24SAS系统对数据的管理系统对数据的管理2 SAS 数据集数据集两种类型的数据对象:SAS数据集(Data sets):包含描述部分和数据部分SAS数据视窗(Data View):只含描述部分(变量名,属性,长度,标题格式,创建与修改日期) 25SAS系统对数据的管理系统对数据的管理2 SAS 数据集数据集: 描述部分描述部分26SAS系统对数据的管理系统对数据的管理2 SAS 数据集数据集: 描述部分描述部分Global Access Display Liberary . . . Desktop SAS Explore File Pop menu ContentsAss D.Manag. Utilities Contents. B & E Dst Attr.Proc contents data=SAS数据集 ;run;27SAS系统对数据的管理系统对数据的管理2 SAS 数据集数据集: 数据部分数据部分变 量(字段、列)VAR1VAR2. . . VARn观测 1123 aBc12Mar90观测 2456 XyZ01Jul97观测 312.34 12331Dec56观测 40.1234 Lm3n01jan80记录或行SAS数据集的数据部分是由数据构成的矩形表缺失值(Missing Value)。字符型变量的缺失值用空格符表示数值型变量的缺失值用句号“ . ”表示28SAS系统对数据的管理系统对数据的管理2 SAS 数据集数据集看数据集看数据集用工具栏中的图标进入库管理对话窗 选中数据集 在弹出菜单选 Open table view发命令:VT(或FSV) 数据集名提交程序:proc print data=数据集名; run;29浏览和编辑浏览和编辑SAS数据集数据集要 求使用ViewTable浏览、编辑和新建SAS数据集使用Proc Print输出SAS 数据集在SAS系统中浏览和编辑SAS数据集必须先设定SAS数据库,将要浏览和编辑的数据集存放在已设定的SAS数据库中30浏览和编辑SAS数据集1 使用Viewtable 浏览与编辑Viewtable 提供一个显示数据集的窗口。它具有对数据集的浏览、编辑和创建的功能Viewtable 提供两种显示数据集的方式:Table View 以矩阵表格形式显示数据,一次可显示多条记录Form View 一次只显示一条记录31浏览和编辑SAS数据集1 使用Viewtable 浏览与编辑如何进入Viewtable窗:在SAS浏览器或数据库对话窗中双击数据集图标键入命令:VT 数据集名32浏览和编辑SAS数据集1 使用Viewtable 浏览与编辑View Form view Table viewView Column Label Column NameEdit Edit Mode Browse ModeEdit Row Level Edit Table Level Edit列:(Data )改边宽度,移动次序HideSortHoldColumn Attr. 颜色行: Edit Find(例D1F) Data Where 加行33浏览和编辑SAS数据集1 使用Viewtable 浏览与编辑除了Viewtable窗口外,FSV等也提供了字符型界面的数据集的浏览和编辑的窗口,它打开数据集的速度更快。Insight和Analyst Application也提供了对数据集浏览和编辑的窗口,他们在生成新变量方面有更强的功能34浏览和编辑SAS数据集1 使用Viewtable 浏览与编辑逐条浏览:命令:FSE 数据集名PROC FSEDIT DATA=SAS-data-set; RUN;成批浏览:命令: FSV 数据集名PROC FSVIEW DATA=SAS-data-set; RUN;35浏览和编辑SAS数据集2 用Viewtable新建数据集建立SAS数据集的各种途径数据存于纸上需直接键入数据存于文本文件数据存于流行数据库文件中用VIEWTABLE FSEDIT FSVIEW编程:用DATA步用Import菜单用SAS/ACCESS36浏览和编辑SAS数据集2 用Viewtable新建数据集 设定变量属性设定变量属性为了新建一个SAS数据集,一般应该先规定输入变量的属性(变量名,标题名,类型,长度,输入输出格式)。对格式和其它属性无特殊要求的也可先输入数据,而后设定各个变量的属性。命令:VT。选中变量名在弹出菜单选Column Attributes37浏览和编辑SAS数据集2 用Viewtable新建数据集 设定变量属性设定变量属性数据集变量的属性描述:变量名(Name):字母或下划线开始且不超过8个字符或数字构成类型(Type):数值型、字符型长度(Length):缺省8字节( 200)标题名(Label): 缺省40字节输入格式(Informat):$输入格式名w.d输出格式(Format): $输出格式名w.d必须可选38浏览和编辑SAS数据集2 用Viewtable新建数据集 设定变量属性设定变量属性在数据集的一条记录的某个变量无数据时,称为缺失值(Missing Value)。字符型变量的缺失值用空格符表示数值型变量的缺失值用句号“ . ”表示NAME SEX POSITION AGESALARYAlex MA 35 1500Linda F 28 1400Simon MC 45 39浏览和编辑SAS数据集2 用Viewtable新建数据集 设定变量属性设定变量属性输入、输出格式例:12234.123412,234.1234$12,234.12348.2comma8.2dollar8.2输入数据输入格式实际存储 数据值12234.12输出格式8.2comma8.2dollar8.2输出数据12234.1212,234.12$12,234.1240浏览和编辑SAS数据集2 用Viewtable新建数据集 设定变量属性设定变量属性日期输入、输出格式例:20OCT9720/10/971997/10/20DATE7.DDMMYY8.yymmdd10.输入数据输入格式实际存储 数据值 13807输出格式date9.mmddyy6.yymmdd8.输出数据20OCT199710209797-10-201960,1,101960,1,211960,2,1311961,1,136641浏览和编辑SAS数据集2 用Viewtable新建数据集 设定变量属性设定变量属性几种常用的输入、输出格式:w.d $w.COMMAw.dDOLLARw.dDATEw.MMDDYYw.标准的数字型格式 标准的字符型格式数字中嵌入逗号数字中嵌入逗号,前加$日期格式 日期格式 42浏览和编辑SAS数据集2 用Viewtable新建数据集 设定变量属性设定变量属性利用HELP查找SAS系统提供的输入、出格式Help下拉菜单SAS System 目录: SAS Language 索 引:SAS Informats and Formats - ContentsSAS Formatsand Informats从分类功能找从函数名找43SAS编程基本概念用户提交的 SAS 程序由许多程序步构成。数据步数据步Data Step过程步过程步Proc Step原始原始数据数据SAS表SAS表报告报告数据步常用于创建数据集过程步常用于处理数据集(生成报表、图形和实现数据分析功能)44SAS编程基本概念SAS的程序由两种程序步(Step)构成:数据步(DATA STEP):以(DATA)语句开始,创建和处理SAS数据集过程步(PROC STEP): 以(PROC)语句开始,用于处理SAS数据45SAS编程基本概念SAS的每个程序步都由语句构成。每个语句常以开始的关键词称呼,用分号表示语句的结束。SAS语句书写的格式较为任意语句可以在任一列开始和结束词间可任意加入空格和换行一个语句可跨多行,多个语句可写在一行良好的书写格式便于程序的阅读46浏览和编辑SAS数据集 3 打印数据集基于数据集的报表从其内容来看大体有两类:一类是提供数据集的详细数据为主,在SAS 中是采用Report窗口或用过程print或report另一类是只含各种分类的汇总信息,在SAS 中是采用过程 tabulate 或与此联系的菜单窗口47浏览和编辑SAS数据集 3 打印数据集PROC PRINT DATA=SAS-data-set;RUN;编程:48浏览和编辑SAS数据集 3 打印数据集PROC PRINT DATA=SAS-data-set ; ID variable; VAR variables; WHERE where-expression; SUM variables; BY by-variables; PAGEBY by- variables;RUN;49浏览和编辑SAS数据集 3 打印数据集p70 最简打印并生成数 据lonparp071 noobsp072 Varp074_1 wherep074_2 sump075 by (sort)p076 idp077 page byp79 title,footnotep80 改titlep81_1 加labelp81_2 splitp84 formatp86 用定义format (也可用class为例)p88 options50浏览和编辑SAS数据集 3 打印数据集 Format的使用若数据集形成时已为变量规定format,则在打印输出时自动运用这一format。在打印程序中使用format语句,可为变量临时设定使用的format。 format语句的形式为FORMAT variables format ;例 format date yymmdd10.;51浏览和编辑SAS数据集 3 打印数据集 Format的使用FORMAT语句:FORMAT variables format ;定义用户格式:PROC FORMAT; VALUE format-name range1=label range2=label . . . . . ;52浏览和编辑SAS数据集 3 打印数据集 Label的使用LABEL variable1=label variable2=label . . . . . . . . . .;Print 选项 : SPLIT=符号Label语句:53浏览和编辑SAS数据集 3 打印数据集 标题、脚注和选项TITLEn text;FOOTNOTEn text;标题、脚注和选项:OPTIONS options;54浏览和编辑SAS数据集 3 打印数据集 系统相关的选项与PRINT有关的一些系统选项CENTER | NOCENTERDATE | NODATENUMBER | NONUMBERLINESIZE=widthPAGESIZE=nPAGENO=n定义方法OPTIONS 语句OPTIONS 窗口55浏览和编辑SAS数据集 3 打印数据集 过程语句的选项PROC PRINT 选项选项; ;PROC PRINT 的一些选项:HEADING=v|hLABELSPLIT=符号WIDTH=Full|Min|U56浏览和编辑SAS数据集 3 打印数据集 Printto的使用proc printto print=文件名 log=文件名 new; 过程步proc printto; 将打印结果和运行信息直接记入文件filename fileref 文件名;57第四章第四章 生成生成SAS数据集数据集要 求会用数据步输入简单的数据集会使用Import和Access窗口菜单系统58第四章第四章 生成生成SAS数据集数据集建立SAS数据集的各种途径数据存于纸上需直接键入数据存于文本文件数据存于流行数据库文件中用VIEWTABLE FSEDIT FSVIEW编程:用DATA步用Import菜单用SAS/ACCESS3.359第四章 生成SAS数据集1 使用数据步新建数据集SAS的程序由两种程序步(Step)构成:数据步(DATA STEP):以(DATA)语句开始,创建和处理SAS数据集过程步(PROC STEP): 以(PROC)语句开始,用于处理SAS数据60第四章 生成SAS数据集1 使用数据步新建数据集要求:由以文本方式存放数据文件生成SAS数据集Data步程序61第四章 生成SAS数据集1 使用数据步新建数据集自文本数据文件生成 SAS 数据集的DATA步的一般形式:DATA SAS数据集名; 变量属性设定语句; INFILE 文件名 FIRSTOBS=n1 OBS=n2 ; INPUT 语句; 其它语句;RUN;62DATA步中设定变量属性的语句:第四章 生成SAS数据集1 使用数据步新建数据集LENGTH 变量名 长度 . . . ;INFORMAT 变量名 输入格式 . . .; FORMAT 变量名 输出格式 . . .; LABEL 变量名= 字符串输入格式 . . .;Length还决定了变量在数据集中的次序63第四章 生成SAS数据集1 使用数据步新建数据集INPUT 语句设定的格式: List: 变量名 Colunm: 变量名 始列-终列 Formatted: 指针 变量名 输入格式 指针:n|+n Named: 变量名= 始列-终列输入换行控制::不换行等待下一个Input语句 : 形成输出记录时输入也不换行 INPUT ;64第四章 生成SAS数据集1 使用数据步新建数据集在数据步输入中,一个input 语句就从输入文件中读入新的一行按要求写入SAS记录。在数据步一轮结束或有output语句时写一行SAS记录。若输入行中字段数少于input 语句中的变量数就输入下一行记录接着写。输入语句结束时输入行剩余的内容也就不用了。所以在输入语句中 :保留输入行等待数据步中下一个input语句使用。但在数据步自动形成输出记录时输入行剩余的内容也清除了 : 除的功能外在形成输出记录时输入也不换输入行INPUT ;65INPUT 语句- List格式(自由格式)第四章 生成SAS数据集1 使用数据步新建数据集INPUT 变量名 变量名 . . . ;源文件中字段件至少有一个空格或特定字符分隔字段只能按序输入缺失值必须用句点表示字符变量的值不能含有空格,长度一般不超过66第四章 生成SAS数据集1 使用数据步新建数据集Imptdt1.dat分开、对齐 p033_2Imptdt2.dat不分开、对齐 p034Imptdt3.dat分开、不对齐Imptdt4.dat对齐、有空格 p036Time.dat变量名逗号分开Imptdt5.dat有空格逗号分开p33_1 list(直接)p33_2 文件(Imptdt1)p33_3 部分观测p33_4 list+informatp33_5 format, informat length 次序(直接)Infile语句的选项delimiter=* dsd missover lrecl=67INPUT 语句 Column格式 第四章 生成SAS数据集1 使用数据步新建数据集INPUT 变量名 始列-终列 变量名 始列-终列. . . ; 源文件中各变量所在位置必须是规则的每个变量按指定指定的始列终列读入字符变量的长度不受缺省值的限制(但=200)变量值可含空格,变量输入次序可以是任意的任何字段或起部分可重复读入68INPUT 语句 Formatted格式 第四章 生成SAS数据集1 使用数据步新建数据集INPUT 指针 变量名 输入格式 指针 变量名 输入格式. . . ; 指针:n|+n源文件中各变量所在位置必须是规则的每个变量按输入格式读入指定的长度可用指针控制下一个变量读入的始点变量值可含空格,变量输入次序可以是任意的任何字段或起部分可重复读入69第四章 生成SAS数据集1 使用数据步新建数据集p036 formatted(文件Imptdt2)p036_1 直接p036_2 跳空,改序p036_3 format, length 次序p036_4 含空格变量值(Imptdt4)p036_5 混用Imptdt1.dat分开、对齐Imptdt2.dat不分开、对齐Imptdt3.dat分开、不对齐Imptdt4.dat对齐、有空格70第四章 生成SAS数据集1 使用数据步新建数据集自文本数据文件生成DATA SAS-data-set ; 变量属性设定语句; INFILE filename ; INPUT 语句; 其它语句;RUN;直接输入数据DATA SAS-data-set ; 变量属性设定语句; INPUT 语句; 其它语句;CARDS; 数据行;RUN;71第四章 生成SAS数据集2 使用Import菜单由文本文件读入SAS的Import/Export菜单界面提供一个使用鼠标器的图形界面Import: 读入外部文件并写为SAS数据集Export: 读入SAS数据集并写为外部文件格式存放在Windows操作系统中,外部文件指:文本文件,dbf,xls, wk1, wk3 等格式的文件72第四章 生成SAS数据集2 使用Import菜单由文本文件读入由下拉菜单File Import(Export) 按提示逐步转换外部文件为SAS 数据集(或将SAS数据集转换为外部文件)对一些用户规定格式的文件提供EFI (External File Interface 外部文件界面)73第四章 生成SAS数据集2 使用Import菜单由文本文件读入为了实现其它文件格式与SAS数据集间的转换,需提供:读(写)其它格式表的地址与名要转换的行与列SAS数据集的属性74第四章 生成SAS数据集2 使用Import菜单由文本文件读入Imptdt1.dat分开、对齐Imptdt2.dat不分开、对齐Imptdt3.dat分开、不对齐Imptdt4.dat对齐、有空格Time.dat变量名逗号分开Imptdt5.dat有空格逗号分开文本文件:dt1:list: auto,manual, columndt2:columndt3:list 编程dt4:columnTime:变量名,逗号分开dt5:变量名,逗号,自动Payroll.sepseptpaylist方式, 逗号分开idnum,salary93-salary9675第四章 生成SAS数据集2 使用Import菜单由文本文件读入Excel文件:Modflts.xls航班信息: 第一行为变量名Sasxls.xls: 无变量名,改个别姓名为中文76第四章 生成SAS数据集3 使用Access 访问其它数据库文件SAS/ACCESS提供了透明地访问其它软件产品提供的数据文件的能力SAS/ACCESS 支持的软件产品有:DB2, ORACLE, SYBASE, INFORMIX,SQL Server, INGRES, dBASE, EXCEL, ODBC, Lotus1-2-3 等。77第四章 生成SAS数据集3 使用Access 访问其它数据库文件为了实现其它文件格式与SAS数据集间的转换,需提供:读(写)其它格式表的地址与名称要转换的行与列SAS数据集的属性78第四章 生成SAS数据集3 使用Access 访问其它数据库文件使用ACCESS访问其它格式数据文件的步骤外部数据文件ACCESS描述器 *.sa2View描述器 *.sv2View描述器 *.sv2SAS数据集 *.sd2SAS数据集 *.sd279第四章 生成SAS数据集3 使用Access 访问其它数据库文件使用ACCESS 访问其它格式的数据文件,可以通过Access窗口交互式地完成,也可以由编程实现进Access窗:下拉菜单:Global Access Access database files发命令:Access 80第四章 生成SAS数据集3 使用Access 访问其它数据库文件在Access窗建Access描述器 File New 填描述器所在库,名称 填外部文件格式 填外部文件地址,名称 选变量、更名及格式 File End在Access窗看 .access在Access窗建View 在描述器前键入CV 选变量(Local Select All) (选子集) F3在Access窗看 .view及数 据表 81第四章 生成SAS数据集3 使用Access 访问其它数据库文件July.dbfjuly1.sa2 julyall.sv2local subset: julylax where hub=lax 并生成数据集选变量:julypart建议用all.dbf为练习82第四章 生成SAS数据集3 使用Access 访问其它数据库文件生成存取描述文件: PROC ACCESS DBMS=DBF|XLS; CREATE 库名.文件名.ACCESS; PATH=外部数据文件路径; RUN;83由存取描述文件生成VIEW: 第四章 生成SAS数据集3 使用Access 访问其它数据库文件PROC ACCESS DBMS=DBF|XLS ACCDES=描述文件名; CREATE 库名.文件名.VIEW; SELECT ALL|变量名列;RUN;84第四章 生成SAS数据集3 使用Access 访问其它数据库文件生成描述文件与VIEW一步完成:PROC ACCESS DBMS=DBF|XLS; CREATE 库名.文件名.ACCESS; PATH=外部数据文件路径; CREATE 库名.文件名.VIEW; SELECT ALL|变量名列; RUN;85第四章 生成SAS数据集3 使用Access 访问其它数据库文件生成其它格式的数据文件: PROC DBLOAD DBMS=DBF|XLS DATA=SAS数据集名; PATH 外部数据文件路径; LOAD;RUN;86第五章第五章 加工加工SAS数据集数据集要 求会使用数据步对数据集作简单的加工(增删改变量等)会使用SQL Query窗查询加工数据87第五章第五章 加工加工SAS数据集数据集加工SAS数据集增改删数据集中的变量和记录菜单:SQL Query窗编程:数据步在生成SAS数据集时进行:在Input语句后加入各种语句对已有的SAS数据集加工:在Set语句后加入各种语句88第五章 加工SAS数据集2 使用SQL Query窗 进入SQL Query窗:发命令:Query下拉菜单:Globals Access Query进窗后,选中要看或加工的数据集 OK89第五章 加工SAS数据集2 使用SQL Query窗选变量(由左窗移至右窗):Actions Run Query Run Immediate加label, 改format, 变量排次序建表(建数据集): File Create Table(Create View)其他: Show query, Save query,. 90第五章 加工SAS数据集2 使用SQL Query窗选观测: Locals Where Conditions for Subset观测排序:Locals Order by建立新的变量:进入变量选择窗后按Build a column 键91第五章 加工SAS数据集1 用数据步加工加工SAS数据集增改删数据集中的变量和记录菜单:SQL Query窗编程:数据步在生成SAS数据集时进行:在Input语句后加入各种语句对已有的SAS数据集加工:在Set语句后加入各种语句92第五章 加工SAS数据集1 用数据步加工增改删数据集中的记录或变量 或在INPUT语句后 或用SET语句并加入其它SAS语句: 加入其它SAS语句 DATA new; . . . .; INPUT . . .INPUT . . .; 其它 SAS 语句;RUN;DATA new; SET old; 其它 SAS 语句;RUN;93第五章 加工SAS数据集1 用数据步加工选择变量在DATA 语句中用选项DROP= 和 KEEP=在SET 语句中用选项DROP= 和 KEEP=在DATA步中加入DROP语句和 KEEP语句 94第五章 加工SAS数据集1 用数据步加工-加减变量选择观测保留IF expression;剔除IF expression THEN DELETE;95第五章 加工SAS数据集1 用数据步加工-选择观测选择观测在DATA 语句中用选项WHERE= 在SET 语句中用选项WHERE= 在SET 语句中用选项FIRSTOBS= 和/或OBS=96第五章 加工SAS数据集1 用数据步加工-记录排序用PROC SORT语句对SAS数据集排序PROC SORT DATA=SAS数据集 OUT=SAS数据集; BY descending 排序变量1. . . . . . . . ;RUN;97第五章 加工SAS数据集2 用数据步加工DATA步中常用的语句: 设定变量属性的语句 赋值语句 条件语句 循环语句 转移语句OUTPUT语句与PUT语句98赋值语句的一般形式第五章 加工SAS数据集2 用数据步加工-赋值语句var = expressionvar 新建或修改的变量名expression 由变量、SAS函数和四则运算 (+, -,*,/,*)构成的表示式赋值语句将表示式的值赋给变量99SAS函数共19类调用形式: 第五章 加工SAS数据集2 用数据步加工- SAS函数其中变元可以是常数、变量、函数或表示式例:sqrt(x), probnorm(x), tinv(x,df) sum(of x1, x10-x20, x25)函数名(OF 变量名列)函数名(变元 )100第五章 加工SAS数据集2 用数据步加工- SAS函数利用HELP查找SAS系统提供的各种函数Help下拉菜单SAS System 目录: SAS Language 索引:SAS Function - Contents从分类功能找从函数名找SAS Functions101第五章 加工SAS数据集2 用数据步加工- SAS函数 函函 数数 类类例例Arithmetic ABS, SQRT, DIMCharacter UPCASE, SUBSTR, TRIMDate and TimeTODAY, DAY, MONTH, MDYMathematical LOG, EXP, GAMMANoncentrality CNONCT, FNONCT, TNONCTQuantile PROBIT, CINV, TINV, FINVProbability and Density PROBNORM, PROBT, POISSON,PDF,PDMRandom NumberRANUNI, RANNOR, RANEXPSample StatisticSUM, MEAN, STD, VAR, RANGESpecialPUT, INPUT, DIF, LAGTrigonometricSIN, TAN, ARCOSTruncationINT, CEIL, ROUNDOthersZIPSTATE102第五章 加工SAS数据集2 用数据步加工-SAS函数测试函数功能的一个简单的程序: data _null_; y=sqrt(3); put y= ;run;103第五章 加工SAS数据集2 用数据步加工- SAS函数SAS日期常数和函数:直接作为数字型常数: ddMMMyy D一些操作日期的函数:DATE(), TODAY(), DATETIME(), TIME(),YEAR(SAS-date), QTR(SAS-date), MONTH(SAS-date) DAY(SAS-date), HOUR(datetime|time), MINUTE(. . .),MDY(month,day,year), HMS(hour,minute,second),DHMS(date,hour,minute,second)104 条件语句IF 条件表达式条件表达式 THEN 可执行语句可执行语句;ELSE 可执行语句可执行语句 ;第五章 加工SAS数据集2 用数据步加工-条件语句比较操作符:, GT, =EQ, LE, GE, NE, IN逻辑操作符: & AND, - OR, NOT.IF expression THEN DO; statements ; . . . END;ELSE DO; statements ; . . . END;105第五章 加工SAS数据集2 用数据步加工-例p41 total=.+p42 total=sum(.) 可将infile input 改为set p44_1 If . thenp44_2 uppercase(.)p45 do. . . endp46 lengthp47 dropp48 ifp49 if . . . then deletep50 date 格式p51 date 比较106演讲完毕,谢谢观看!