




已阅读5页,还剩148页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录 SAS系统简介和基础操作SAS系统的工作环境 SAS系统对数据文件的管理 用编程读入数据建立SAS数据集 数据加工 数据汇总与报表制作 制作图形展现数据SAS宏入门 SAS系统概述和基础操作 SAS系统 SAS系统是用于建立数据仓库并进行数据分析与决策支持的大型集成式模块化软件系统 其早期的名称为StatisticalAnalysisSystem 被誉为数据处理和统计分析领域的国际标准软件 SAS系统软件构成 SAS系统是一个可由几个到二 三十个专用模块及面向行业的子系统组成的大型集成式软件包 其模块按功能大体上分为四类 数据库部分 BaseSAS FSP ACCESS 分析核心 QC INSIGHT STAT ETS 开发呈现工具 AF EIS GRAPH 分布处理与数据仓库 CONNECT WA SAS系统介绍 SAS系统是一个模块化 集成化的应用软件系统 使用SAS系统可以实现对数据的完全控制和充分利用 SAS系统主要完成以数据为中心的四大任务 数据访问 数据管理 数据呈现 数据分析 所有的工作在一个平台内完成 信息交付 SAS的核心任务 从数据到信息 数据采集管理组织利用信息知识输出 SAS系统的组件 SAS系统的核心 BaseSAS模块 用于管理并呈现数据 包含有一套编程语言以及一系列过程 是其它模块的基础 SAS数据的存储 关系型数据存储 dataset dataview 完全支持SQL标准的数据结构和数据处理 多维数据存储 MDDB Cube 没有结构性冗余的有效存储 数据挖掘库 DMDB 针对数据挖掘特点的数据存储 并行处理数据引擎 智能数据切分功能 优化的索引结构 SAS系统的组件 数据访问 通过SAS ACCESS模块 可读取各种数据源 包括 Informix UDB Sybase Oracle SQLServer cobol 对ODBC OLEDB支持的数据源 Windows下的文件 DBF Excel 文本格式的文件 html格式的文件 SAS系统的组件 数据统计分析 SAS STAT覆盖了当今世界上所有的实用数理统计分析方法 可以适应各种不同模型和不同特点数据的需要 SAS ETS提供了丰富的计量经济学和时间序列分析方法 SAS INSIGHT一个功能强大的可视化的数据探索与分析的工具 SAS OR用于进行运筹运算 SAS QC功能强大的质量控制软件 SAS系统的组件 SAS数据仓库 SAS WA SAS的数据仓库技术集成地实现了数据访问和数据管理的任务 不仅能访问存在于不同地点地任何形式地数据 而且将之进行分类 合并 归纳 整理及深层分析后得到有用的信息 这些支持决策地信息具有开放性 能被其它应用系统访问 SAS WA 是非常优秀地可视化数据仓库管理工具 涉及数据仓库建立工程中地各个环节 OLAP系列 SAS MDDB OpenOLAPServer SAS EIS SAS系统的组件 表现工具 前端开发工具 SAS AF图形表现工具 SAS GRAPH 可制作出各种二维和三维图形 如柱状图 散点图 饼图等等 地理信息表现工具 SAS GISWeb产品 SAS Intrnet SAS StoredProcessSAS WebEIS SAS PortalSAS WebReportStudio SAS WebAF SAS系统的基本运行环境 SAS系统的工作环境 SAS系统可以有多种方式在各种操作系统中运行 常用的有 交互方式 直接在SAS操作环境下进行操作 SAS系统执行任务并返回结果 可不断地根据返回的结果继续操作 批作业方式 操作者向操作系统提交启动SAS作业的要求和全部要运行的SAS程序 再由操作系统安排这一作业运行 操作者可在事后获得SAS程序运行的全部结果 SAS系统的交互工作环境 启动SAS 1 在Windows桌面系统下双击SAS图标 2 运行SAS系统目录下 例C SAS8 的可执行程序sas exe 3 从 运行 打开或从 资料管理器 双击某个已有的SAS程序 也可启动SAS系统并调入该程序 SAS提供的基本运行环境 SAS提供了强有力的交互式用户界面 显示管理系统 基本窗口及窗口条 Editor窗口 用于编写 编辑和执行SAS程序语句 Log窗口 显示当前会话程序运行的信息 Output窗口 显示程序的输出 Result窗口 管理输出结果 Explorer窗口 管理SAS系统中的文件 下拉菜单或弹出菜单 命令框 工具拦 信息窗 基本窗口 基本窗口 显示管理系统 运行一个简单的SAS程序 1 在Editor窗口中输入程序 procprintdata sasuser class simple1 sas varnamesexage whereagegt13 run 2 通过菜单 命令框 工具栏或功能键等都可提交程序 3 在Log中查看程序的运行信息 在Output窗口中查看运行结果 4 若需要重新找回程序 可通过功能键或菜单进行 显示管理系统 其它一些窗口 KEYS窗口 查看及改变功能键的设置 OPTIONS窗口 查看及改变SAS的系统设置 LIBNAME窗口 查看已存在的SAS数据库 DIR窗口 查看某个SAS数据库的内容 VAR窗口 查看SAS数据集的有关信息 显示管理系统 每个窗口都有自己相应的菜单选项 可通过点击窗口条或在查看菜单打开不同的窗口 在工具菜单可以调用一些实用的工具以及定制系统的属性 如 可以通过选择菜单进行 表编辑 报表编辑 图形编辑以及文本编辑等等 在选项子菜单下可以查看及定制系统的一些属性 如 在参数菜单中可以把过程的输出定制为HTML文件 保存在某个目录中 默认为临时库的目录 在解决方案菜单中包含了部分SAS模块的菜单操作环境 SAS系统对数据文件的管理 SAS文件类型 有多种不同的SAS文件类型 其中包括有 SASdataset view SAS数据集 视图 SAS对数据的分析与呈现都是面对SAS数据集进行的 得到它们主要有三个途径 1 直接在SAS系统中输入数据 2 用SAS数据步 DataStep 将外部数据文件转换为SAS数据集 3 通过SAS ACCESS软件访问其它的数据库管理系统 SASCatalog是保存有多种不同类型信息的SAS文件 SAS数据对象 SAS数据集通常分为两个部分 描述部分 包含数据的属性信息 数据部分 包含数值 数据集的列称为变量 Variable 类似于域或字段 变量名最长为32个字符 以字母或下划线开始 可包含字母 数字和下划线 数据集的行称为观测 Observation 相当于记录 观测数不受限制 SAS数据视图只有描述部分 没有数据部分 但描述部分包含了足够的信息以找到保存在其他文件中的数据 数据视图减少了维护费用 源数据一旦改变 数据视图将随着改变 可由SQL ACCESS和DATAStep产生 SAS数据集 描述部分包含的信息包括有 变量的名字 变量的属性 数据集中的观测数 数据集创建或修改的时间等 SAS数据对象 在编程环境下查看数据对象的描述部分可用以下过程 浏览数据集的数据部分 发命令 VT 或FSV 数据集名提交程序 SAS数据库 SAS数据集存储在SAS逻辑库中 SAS逻辑库还存储有其它的SAS专用文件 由SAS创建和管理的文件 SAS逻辑库只是一个逻辑概念 指向了某个存储目录 SAS文件用两级命名方式命名 libname SAS filename 库标记 文件名 库标记指的是逻辑库的名字 最长8个字符 以字母或下划线开始 可包含字母 数字和下划线 SAS数据库 SAS逻辑库分为永久库和临时库 永久库 SASUSER SASHELP 自定义的库 临时库 WORK 关闭会话 内容将丢失 自定义的库若不指定 关闭SAS后 库标记将失效 但内容被保存下来 每次启动 SAS都自动产生两个SAS逻辑库 WORK 引用WORK库中的文件可省略库标记 SASUSER SAS数据库的设定 不同的主操作系统下逻辑库以不同的方式与主操作系统下的文件组织相联系 在Windows下每个SAS逻辑库与某个子目录相连系 即SAS逻辑库包含指定子目录内的所有SAS文件 不含更下一级子目录内容 例 SASUSER C documentsandsettings V8 BASEDATA C basedata SAS数据库的设定 设定一个SAS逻辑库就是与操作系统的某个物理位置建立一个联系 让SAS系统可以对该位置上的SAS文件进行管理 解除一个SAS逻辑库只是解除上述联系 并不删除该物理位置上的SAS文件 多个SAS逻辑库可与同一个物理位置相连接一个SAS逻辑库也可与多个物理位置相连接 SAS数据库的设定 标记一个SAS逻辑库有两种方法 通过菜单进行 libname库标记引擎数据源选项 engine 引擎 是一种访问架构 SAS的逻辑库都有一个引擎 这个引擎决定了SAS可以访问和写入的SAS文件格式 它可以是V9 V8等不同的SAS版本 也可以是Oracle DB2等表示外部数据格式文件 还有SPSS DMBP等为一些其它软件格式文件使用的数据 不同引擎的库连接可构成混合引擎的库 实现同时看到库内不同引擎的文件 SAS数据库的设定 SAS9可以读出V8的SAS文件 可以修改和写入V8的DataSet和catalog V8数据集转为SAS9 ProcMigration ProcCopy Procdatasets的copy语句 V8Catalog转为SAS9 ProcMigration SAS数据库 用菜单设定 1 按工具条上图标 新建逻辑库 可进入设定新的逻辑库的新建逻辑库窗口 2 浏览器窗口击活时 在下拉菜单中选 文件 新建 逻辑库可进入设定SAS逻辑库的窗口 3 在SAS环境处右击鼠标 在弹出的菜单中选新建 也可进入新建逻辑库窗口 注意启动时使用选项的使用 利用SAS CONNECT建立连接 利用SAS CONNECT建立连接 SAS CONNECT软件提供了SAS应用的协同环境 提供了运行在不同平台上的SAS之间的通讯连接 利用SAS CONNECT 一个在本地运行的SAS程序可以与一个或多个远端SAS进程建立连接 在建立连接的基础上 还可以通过本地SAS访问到远端的数据 也可以递交程序给远端SAS进程来执行 并将结果返回到本地 在登录到远端系统之前 必须制定下列内容 通讯方法 需要连接的远程机器的IP地址 合适的脚本文件 利用SAS CONNECT建立连接 范例 与UNIX主机 S85 连接 letser name 190 2 200 45 optionsremote ser namecomamid tcp filenamerlink SASROOT tcpunix scr signon 当与远端建立连接后 可在本地SAS通过运行libname建立库标记 访问远端数据 libname库标记名 文件所在路径 server ser name 利用窗口菜单操作和创建SAS数据集 SAS数据集的变量 SAS数据集的列称为变量 Variable 变量的类型 字符型变量 CharacterVariable 可包含任何值 包括字母 数字和特殊字符 长度为1至32 767个字节 数值型变量 NumericalVariable 通常只包含数字 包括科学计数法和十六进制表示法中的数字 保存为8个字节的浮点数 SAS数据集的缺失值处理 许多数据集中都会有缺失值 SAS对此作以下处理 对于数值型变量 这个值显示为一个点 对于字符型变量 这个值显示为空格 例子 datatmp lengthvar1 8 lengthvar2 8 lengthvar38 lengthvar48 var2 abc var4 123 run 输入格式和输出格式 SAS数据集数据的格式 输入格式 Informat 指示SAS系统如何读入数据 输出格式 Format 指示SAS系统如何输出数据 使得数据表或报表中看到的数据的值并不一定就是数据的实际存储值 使得SAS系统不同于其他的分析系统 只具有两种类型的变量就能进行广泛的数据处理和分析 输入格式和输出格式 它们的一般形式如下 informat name format name 代表变量是字符型Informat name输入格式名Format name输出格式名W输入或输出的总宽度 包括 和 必须的分隔符d小数部分的长度 默认为0注意 所有输入输出格式必须包含一个点 作为名字的一部分 输入格式和输出格式 SAS系统提供的几种常用输入输出格式 w d标准的数字型格式 w 标准的字符型格式commaw d数字中加入逗号dollarw d数字中加入逗号 数字前加入 datew 日期格式bestw SAS选择最佳表示法此外 用户还可以自定义格式 输入格式和输出格式 根据输入格式来读入数据 不同的格式读入为不同的存储数值 输入格式和输出格式 根据需要使用输出格式 使存储数值输出为所需要的数值 但并没有改变实际的存储值 SAS对日期时间值的处理 SAS日期值 日期时间值在SAS内部都是以数值型变量存储 如1962年3月3日被存储为792 即366 365 31 28 2 792 SAS对日期时间值的处理 SAS存储时间值为从午夜开始到此刻的秒数 如9 54存储为35640 9 60 60 54 60 35640 一个日期时间值存储为从1960年1月1日午夜到这个日期时间之间的秒数 如1985年4月27日17点49分45秒被存储为799091385将一个日期时间表示为一个常数 将日期或时间加上引号 后面加上d 如 01JAN86 d SAS对日期时间值的处理 SAS通过输入格式和输出格式将日期值与其他较易阅读的日期形式联系起来 如1992年10月16日可表示为 MMDDYYw 101692 MMDDYY6 或者10 16 92 MMDDYY8 DDMMYYw 161092 DDMMYY6 或者16 10 92 DDMMYY8 DATEw 16OCT92 DATE7 或者16OCT1992 DATE9 使用Viewtable浏览SAS数据集 Viewtable提供一个显示数据集的窗口 它具有对数据集的浏览 编辑和创建的功能 如何进入Viewtable窗口 1 在SAS逻辑库对话框中双击数据集图标 2 在命令栏键入命令 VT数据集名例如 VTSASHELP CLASS 使用Viewtable浏览SAS数据集 通过Viewtable窗口打开的数据集有两种模式 浏览模式 只能浏览 不能进行修改 默认模式 编辑模式 改为该模式后 可对数据进行一系列操作 包括 设置条件取子集 改变表和变量的属性 排序 另存为其它格式文件 根据数据作图 作报表等等 使用Viewtable新建SAS数据集 用Viewtable打开一个空白表 在命令栏输入 vt在相应的逻辑库点击鼠标右键 选新建 再选表设定变量属性 在相应的列右击鼠标 输入变量名 标签 长度 输入输出格式等内容 输入数据 在相应的单元格中输入相应的内容 SAS导入和导出数据 Import Export工具使你能够 导入指的是从外部数据源读入数据 并把它保存为SAS数据集 导出指的是把一个SAS数据集保存为一个外部文件 外部数据源包括有 MicrosoftExcel4 5 7 97or2000电子表格 MicrosoftAccess97or2000表dBASELotus1 3 or4电子表格delimitedfiles分隔文件 导出数据流程 导出数据流程 开始 单击 File 菜单中的 ExportData 导出数据流程 选择源数据集从LIBRARY下拉列表中选择数据库 从MEMBER下拉列表中选择数据集 单击NEXT 按钮 得到下图 导出数据流程 选择目标数据集类型 单击NEXT 按钮 得下图 导出数据流程 命名 定位目标数据集在窗口键入保存位置 单击FINISH按钮完成 或单击NEXT 按钮 得下图 导出数据流程命名 定位导出程序在窗口键入程序名及其保存位置 单击FINISH按钮完成 语法 PROCEXPORTDATA sashelp classOUTFILE C contact xls DBMS EXCEL2000REPLACE RUN 注释 DATA sashelp class 定义源数据集 OUTFILE C contact xls 定义目标数据文件 DBMS EXCEL2000 定义目标数据类型 REPLACE 替换 选项 表明目标数据集以替换方式更新 导入数据流程 导入数据流程 开始 单击 File 菜单中的 ImportData 导入数据流程 选择源数据集 单击NEXT 按钮 得到下图 导入数据流程 选择目标数据集 SAS数据集 单击NEXT 按钮 得下图 导入数据流程 命名 定位目标数据集从Library下拉列表中选择数据库名 从Member下拉列表中选择 或输入 数据集名 单击Finish完成 或Next 按钮 得到下图 导入数据流程命名 定位导出程序在窗口键入程序名及其保存位置 单击FINISH按钮完成 语法 PROCIMPORTOUT WORK contactDATAFILE c contact xls DBMS EXCEL2000REPLACE GETNAMES YES RUN 注释 OUT WORK contact 定义目标数据集 DATAFILE c contact xls 定义源数据集 DBMS EXCEL2000 定义源数据类型 REPLACE 替换 选项 GETNAMES YES 字段命名 选项 表明沿用源数据集中的第1行为字段名 SAS编程基础 SAS编程基本概念 SAS程序由两种程序步组成 如图所示 SAS编程基本概念 数据步 DataStep 以Data语句开始 用于创建和处理SAS数据集 Data步的主要功能有 创建一个新的数据集整理已有的数据集其一般形式为 DATAsas data set option 1 value 1 Set语句 其他sas语句 Run SAS编程基本概念 过程步 ProcStep 以Proc语句开始 用于分析处理SAS数据集中的数据 PROC步常用来建立 管理和查询数据集 可方便的插入数据 抽取数据和更新数据 SAS编程基本概念 一个简单例子 Datasimple simple sas Setsashelp class run Procprintdata simple varnameageheightweight whereage 13 run SAS编程基本概念 SAS的每个程序步都由数个语句构成 每个语句常以开始的关键词称呼 用分号表示语句的结束 如dataa procprint labela A SAS语句书写的格式较为任意语句可以在任一列开始和结束 词间可任意加入空格和换行 一个语句可跨多行 多个语句可写在一行 良好的书写格式便于程序的阅读 SAS编程基本概念 SAS数据集存放在SAS逻辑库中 在读入数据前 要先建立SAS逻辑库 用编程建立SAS逻辑库 一个物理位置指定一个逻辑库 libname库标记引擎数据源选项 如 libnamebasesas c tmp basesas 多个物理位置指定同一个逻辑库名 libname库标记引擎 物理位置1物理位置2 其中物理位置可以是一个用引号括起来的实际物理地址 也可以是一个已经设定的逻辑库名 libnameall basesas d sasdemo data SAS编程基本概念 可以用以下过程查看逻辑库的内容和属性 Procdatasetslib 逻辑库名 sashelp run 可以用以下过程查看数据集的属性 Proccontentsdata 数据集名 sashelp class run 可以用以下过程查看数据集的内容 Procprintdata 数据集名 sashelp class run SAS数据加工 赋值语句 在数据步中使用赋值语句增加数据集中的变量 赋值语句的一般形式 Variable 表达式 表达式中可以包含SAS操作符和函数 SAS操作符用来执行基本的计算 SAS函数的一般形式 函数名 参数1 参数2 参数之间以逗号隔开 可以是常量 变量 表达式或其它函数 赋值语句 常用的操作符 SAS函数 使用函数可以 进行一些数学计算 例如平方根 计算统计量 例如平均值或者总和 处理SAS数据 例如计算某一天是星期几 字符运算函数 UPCASE var LOWCASE var 将字母全部转换为大写 小写 COMPRESS var 将字符串中的多个空格压为一个 SUBSTR var m n 能根据起始位置和所需长度从字符串中抽取部分字符 字符运算函数 字符运算函数 TRIM var LEFT var 截去字符串头部 尾部的空格 INDEX 在字符串中查找一个字符 SCAN var n 根据分隔符 找出字符串中第n个单词 数值截取函数 以下是几个常用的数值截取函数 INT 自变量 返回自变量的整数部分 ROUND 自变量 精度 返回按指定的精度对自变量进行四舍五入的结果 CEIL 自变量 返回不小于自变量的最小整数部分 以下是使用这些函数的简单例子 Datatest test1 sas x 326 54 integer int x over ceil x tenth round x 0 1 run procprintdata test run 与日期有关的函数 函数TODAY TIME和DATE 都不写自变量 函数返回值典型用法TODAY 当前系统的日期值now today TIME 当前系统的时间值current time DATE 当前系统的日期值time date 年月日的提取 自变量都是表示SAS日期值的数值 函数返回值例DAY 自变量 自变量的月内日期值 1 31 day 02dec66 d 2WEEKDAY 自变量 自变量的周内参数 1 7 weekday 02dec66 d 6MONTH 自变量 自变量的月份值 1 12 month 02dec66 d 12QTR 自变量 自变量的季度值 1 4 qtr 02dec66 d 4YEAR 自变量 自变量的年份值year 02dec66 d 1966WEEKDAY 自变量 的值为1 表示的周日 周一为2 依此类推 此外还有日期值的整合函数MDY 日期时间运算函数INTNX和INTCK等等 数值与字符的转换 字符自动转换为数值 一般地 系统对以下情况进行字符到数值的自动转换 将字符变量赋值给一个已规定为数值型的变量 如 rate payrate 在算术运算中使用字符型变量 如 salary payrate hours 在比较运算中与数值变量进行比较 如 ifpayrate rate 但在WHERE语句中和数据集选项WHERE的表达式中不进行自动转换 在一个需要数值型变量的函数中引用字符型变量 如 newrate sum payrate raise 数值与字符的转换函数 函数INPUT实现将自变量的值由字符转换为数值 它的一般形式为 INPUT 源数据 输入格式 其中 源数据 可以是一个字符型变量 字符常数值或要转为数值的表达式 输入格式 指明对源数据进行转换的输入格式 函数的返回值是源数据按输入格式转换的结果 INPUT函数也可用于字符到字符的转换 数值与字符的转换函数 自动数值到字符的转换类似于字符到数值的转换 一般在以下的情况下发生 将数值型变量的值赋值给一个已规定为字符型的变量 在字符运算中使用数值型变量 在一个需要字符型自变量的函数中引用数值型变量 函数PUT完成数值到字符的转换 它的一般形式为 PUT 源数据 输出格式 其中 源数据 可以是要转换为字符值的变量 常数或表达式 输入格式 指明对源数据转换的输出格式 PUT函数总是返回一个字符串 它是源数据按输出格式输出的结果 设定变量属性的语句 常用的DATA步中设定变量属性的语句 LENGTH变量名长度 设定变量的长度和在数据集中的顺序 INFORMAT变量名输入格式 设定变量的输入格式 FORMAT变量名输出格式 设定变量的输出格式 LABEL变量名 字符串输入格式 设定变量的标签 条件转移语句 条件转移语句 条件转移语句 几个比较操作符用法的例子 ifdest LON ifdestin LON PAR ifflight 219 ifboardedlt150ifmail freightifdestcontains lon 数据集的选项 在数据步和过程步读取或写入数据集时可以加入选项来控制读写的过程 常用的有以下几个方面 更改数据集中的变量名 选择数据集中的变量 选择数据集中的观测 提供数据集的密码等 数据集的选项加在数据集名后 用一对圆括号限定 一般形式为 选项1 值1选项2 值2 如 重命名数据集中的变量 Datatest rename name lastname 数据集的选项 一个例子 dataclass keep namesexheighthwratio 在新数据集中保留所列变量 setsashelp class drop age 在读入时没读进AGE hwratio height weight 赋值语句 创建新的变量 run procprintdata class run option1 sas 数据集观测的选择 Where语句 可在数据步和大多数的程序步中使用 用于选择观测进入数据集 它的一般形式为 Where条件表示式If语句 可在数据步和大多数的程序步中使用 用于选择观测进入数据集 它的一般形式为 If条件表示式用Delete语句可以选择那些数据不被写入到数据集用法 if条件表示式thendelete 按变量值对数据集排序 使用SORT过程对数据集进行排序 一般形式为 PROCSORTDATA 数据集 BY变量名列变量名列 RUN 其中 若不使用OUT 输出数据集名 排序后的结果将覆盖原来的数据集 可按多个变量进行排序 可以按升序或降序进行排序 缺失值将被视为最小的值 不产生打印输出结果 按变量值对数据集排序 如对数据集sashelp class按AGE的降序进行排列 且AGE相同的记录按HEIGHT的值降序排列 可用以下程序 procsortdata sashelp classout sorted sort1 sas bydescendingagedescendingheight run procprintout sorted run 面向多个数据集的数据加工 数据集的拼接与合并 使用数据步 DataStep 对多数据进行操作通常有两种方式 拼接 在数据集的拼接中 增加了数据集的记录数 合并 在数据集的合并中 增加了数据集的字段数 数据集的拼接 用SET语句拼接SAS数据集 DATA新数据集 SET输入数据集1输入数据集2 RUN 如果不使用DROP 和KEEP 选项 在新的数据集中将包含所有旧数据集的变量 数据集的合并 用MERGE语句合并SAS数据集 DATA新数据集 MERGE输入数据集1输入数据集2 BY变量 RUN 使用MERGE语句可以合并任意多个数据集 MERGE输入数据集必须预先按该BY变量排序 一对一匹配的对接 一对多匹配的对接 不匹配的对接 用SQL过程查询和加工数据 SAS系统使用PROCSQL实现对SQL的支持 使用SQL过程可以 读入 展示和加工SAS数据文件 在表中增加和修改数据值 增加 修改和删除表的列 合并数据表 创建新的数据表 生成报表 用SQL过程查询和加工数据 使用SQL的SELECT语句显示数据表sashelp class中的变量NAME AGE和HEIGHT 并选出性别是男的学生 procsql sql1 sas title CityandYearsofService selectname age heightfromsashelp classwheresex M quit select后的是变量名 from后的是数据集名 用SQL过程查询和加工数据 使用SQL的GROUPBY语句生成新的数据集 要求根据不同日期汇总原料量 新数据集中按日期排序 procsql sql1 sas createtabletmp1asselectdate pro sum weightfx asweightfrombase lz tmp1groupbydate proorderbydate pro quit 数据汇总与报表制作 数据汇总与报表制作 利用SAS提供的各种过程可以制作各种风格的报表 这些过程都是面向SAS数据集的 所以要使用这些过程制作报表 我们必须要先利用前面的知识将报表中所需要的信息整合到一个数据集中 从表现数据集的内容来看 报表可分为两类 显示详细数据的报表 将数据集中每条记录的内容直接显示 最常使用的是PRINT过程实现 显示汇总数据的报表 将数据集中的数据按指定的方式分类汇总 计算各项统计指标 汇总报表可以更集中地反映数据中某一方面的总貌 常使用TABULATE过程制作 Print过程 用Procprint产生列表报表 有以下形式 PROCprint DATA 数据集名 选项 VAR变量序列 控制出现的变量和顺序 WHERE条件表达式 控制出现的观测 SUM变量序列 计算变量的总和 BY变量序列 进行分组和求小计 但要先对数据集进行排序 RUN Print过程 一个应用实例 procprintdata sashelp class print1 sas varnameagesexheightweight whereagegt13 sumage run 如果要根据性别对数据进行分组并求每一组的小计 怎样修改 先对数据集根据sex字段排序 在PRINT过程中加入BY语句 改进列表报表 改进列表报表的相关语句 TITLEn 文本 加入标题 FOOTNOTEn 文本 加入脚注 注意 如果没有定义标题 缺省的标题是 TheSASSystem n的取值范围从1到10 使用了这两个语句后 所定义的标题和脚注将一直有效 直到另一个TITLE和FOOTNOTE语句被执行 用TITLE1 和FOOTNOTE1 语句可以取消所有已定义过的标题和脚注 改进列表报表 LABEL语句 LABEL变量1 label1 变量2 label2 变量n labeln LABEL语句实际上为它定义的每个变量产生一个 标签 标签中可以输入中文 用于PRINT过程时 要在PRINT语句中加入LABEL选项 FORMAT语句 控制数据值的输出格式 format变量名输出格式名 改进列表报表 一个实例 procprintdata basedata lz simple1 obs 20 label print2 sas vardate proCOIL NUMmaterialTHICK FXWIDTH FXWEIGHTFX title 冷轧数据集市 title2 主题号SU5501 footnote 时间 2003 06 22 footnote2 地点 教陪中心 labelthick fx 厚度width fx 宽度WEIGHTFX 重量 formatdate proyymmdd10 run FORMAT过程 使用Procformat自定义输入格式和输出格式 PROCFORMAT VALUE格式名取值范围1 指标记1 取值范围2 指标记2 RUN 使用PROCFORMAT定义的格式 可以在PRINT过程中用FORMAT语句引用它们 FORMAT过程 在VALUE语句中 格式可以被赋予 单个数字 例如 procformat valuesexfmt1 女 2 男 other 缺失值 run 在这里定义了格式sexfmt 如果某个变量被赋予这种格式时 变量中的值为1的都将被标记为女 值为2的将被标记为男 值既不为1又不为2的将被标记为缺失值 FORMAT过程 在VALUE语句中 格式可以被赋予 某一数值范围 例如 procformat valueheifmtlow 60 低于平均 60 65 平均 65 high 高于平均 run 在这里定义了格式heifmt 如果某个变量被赋予这种格式时 变量中的值在最小值与60之间的都将被标记为低于平均 在60到65之间的被标记为平均 在65到最大值之间的将被标记为高于平均 FORMAT过程 在VALUE语句中 格式可以被赋予 字符 字符串或某一范围的字符 例如 procformat value sexfmt F 女 M 男 other 缺失 run 字符型格式只能被用于字符型变量 FORMAT过程 一个实例 procprintdata sashelp classlabel format sas formatsex sexfmt run 注意字符型格式的调用方式 TABULATE过程 使用PROCTABULATE产生汇总报表 当一个SAS数据集包含不太多的数据时列表报表可以很好的描述数据 大量信息时需要用汇总报表描述 汇总报表产生的步骤 将数据根据需要进行分类 在分类的基础上计算一些统计量 如 频数 总和 均值 百分比等等 TABULATE过程 在产生汇总报表前 首先必须在SAS数据集中定义分类变量和分析变量 分类变量 ClassVariables 具有以下特性 可以是数值型变量或字符型变量 如果是数值型变量 则代表某些离散的类 可以将数据分类 以便在每个类上进行计算和分析 分析变量 AnalysisVariables 具有以下特性 多数是数值型变量 适合于作各种统计计算 例如 计数 求和 平均 百分比等等 TABULATE过程 PROCTABULATE可以计算的统计量有 频数 frequency 均值 mean 标准差 standarddeviation 最小值 minimum 最大值 maximum 极差 range 总和 sum 百分数 percentages TABULATE过程 最简单的TABULATE过程必须定义下列要素 分类变量 或分析变量 表格的结构和格式 PROCTABULATEDATA 数据集选项 CLASS分类变量序列 用空格隔开 VAR分析变量序列 TABLE页表达式 行表达式 列表达式 选项 RUN TABULATE的一般形式 PROCTABULATEDATA SAS data setoptions CLASSclass variables VARanalysis variables TABLErow expression column expression options RUN CLASS语句用于定义分类变量VAR语句用于定义分析变量TABLE语句用于定义表格的结构和格式 较为常用的汇总表格一般为两维 第一维为行 第二维为列 TABLE语句中变化较多 将决定最终表格的形式 TABULATE的一般形式 TABLE语句由元素和操作符构成 元素是指变量和统计量 操作符控制表格的形式 如下表 TABULATE过程 应用例子 Proctabulatedata sashelp class classname tablename Run tabulate sas 由于没有定义分析变量 则默认的统计量为N 频数 即某一类的有效观测数 没有操作符的TABLE语句使变量的每一个值占据表格的一个单独列 TABULATE过程 应用例子 Proctabulatedata sashelp class classnamesex tablename sex Run tabulate2 sas 使用逗号操作符隔开两个表达式将产生一个二维报表 第一个表达式定义行 第二个表达式定义列 TABULATE过程 应用例子 Proctabulatedata sashelp class classnamesexage tablename sex age Run tabulate3 sas 使用两个逗号操作符隔开三个表达式将产生一个三维报表 第一个表达式定义页 第二个表达式定义行 第三个表达式定义列 TABULATE过程 应用例子 Proctabulatedata sashelp class classnamesex tablenamesex Run tabulate4 sas 使用空格操作符隔开两个元素将产生一个连排报表 TABULATE过程 应用例子 Proctabulatedata sashelp class classnamesex tablename sex Run tabulate5 sas 使用星号操作符隔开两个元素将产生一个交叉等级报表 TABULATE过程 在PROCTABULATE制作报表的过程中 还可以使用以下的手段来增加报表的可读性 使用FORMAT LABEL TITLE以及FOOTNOTE语句 使用KEYLABEL语句为所有统计量加入标签语句 KEYLABELkeyword label 制作图形展现数据 SAS图形入门 SAS GRAPH提供了许多过程 可以制作 散点图及连线图 plots 显示详细数据图标 charts 显示概括数据地图 maps 三维图形 three dimensionalgraphics 文本缩放及其他 textslides 1 散点图 折线图 1 1图例1 2语法1 3举例 1 1图例 散点图 1 1图例 折线图 1 2语法 PROCGPLOTdata t PLOToutput month vaxis
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 职业高中班主任工作总结
- 养老服务活动策划方案模板
- 嘉善洁净车间施工方案
- 活动策划方案标准化执行清单
- 2025辅警招聘考试全真模拟模拟题及参考答案详解【夺分金卷】
- 自考专业(工商企业管理)题库试题带答案详解(培优B卷)
- 2024年安全员考试高频难、易错点题附完整答案详解(考点梳理)
- 高职单招模拟试题含完整答案详解(夺冠系列)
- 2024-2025学年自考专业(金融)题库检测试题打印含答案详解【达标题】
- 2024-2025学年度自考专业(汉语言文学)高频难、易错点题及答案详解【真题汇编】
- 移动专线故障培训课件
- DB11-T 1374-2025 公路货运车辆不停车超限检测系统技术要求
- 农业职业经理人技术培训试题及答案
- 大型商业综合体项目施工组织设计方案
- 代采代销合同范本
- DB3715-T 19-2022 桑黄栽培技术规程
- 《现代通信交换技术》课件
- 2023版国家关于轻伤、重伤鉴定新标准(人体损伤程度鉴定标准)
- 《挥发性有机污染地块现场分析检测技术验证评价指南》
- 护理质控鱼骨头制作流程
- 《人工智能发展史》课件
评论
0/150
提交评论