SAS讲义第十七课使用列表报告PROCPRINT和汇总报告PROCTABULATE

上传人:宝路 文档编号:7497267 上传时间:2017-09-21 格式:DOC 页数:14 大小:241.76KB
返回 下载 相关 举报
SAS讲义第十七课使用列表报告PROCPRINT和汇总报告PROCTABULATE_第1页
第1页 / 共14页
SAS讲义第十七课使用列表报告PROCPRINT和汇总报告PROCTABULATE_第2页
第2页 / 共14页
SAS讲义第十七课使用列表报告PROCPRINT和汇总报告PROCTABULATE_第3页
第3页 / 共14页
SAS讲义第十七课使用列表报告PROCPRINT和汇总报告PROCTABULATE_第4页
第4页 / 共14页
SAS讲义第十七课使用列表报告PROCPRINT和汇总报告PROCTABULATE_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《SAS讲义第十七课使用列表报告PROCPRINT和汇总报告PROCTABULATE》由会员分享,可在线阅读,更多相关《SAS讲义第十七课使用列表报告PROCPRINT和汇总报告PROCTABULATE(14页珍藏版)》请在金锄头文库上搜索。

1、006c021c8b653cdee4d25d37b33585d6.pdf SAS 系统和数据分析电子商务系列上海财经大学经济信息管理系IS/SHUFECreated by Page 1 of 14第十七课 使用列表报告 PROC PRINT 和汇总报告 PROC TABULATE利用 SAS 系统提供的各种过程可以制作各种风格的报表。一份好的输出报表可以使用户更直观、更清楚和更容易地了解和明白统计计算的结果,因此如何制作一个能充分揭示运算结果信息和满足要求的报告,也是非常重要的。SAS 系统提供的各种制作报表过程中,最常用的是以下两种: 列表报告 PROC PRINT 过程 汇总报告 PROC

2、 TABULATE 过程一 . 列 表 报 告 PROC PRINT 过 程所谓列表报告 PROC PRINT 过程,将输出 SAS 数据集中的数值,输出时把数据集中的每一个变量形成输出报表的列,而每一个观测形成输出报表的一行。1 PROC PRINT 过程的主要功能PROC PRINT 过程输出的数据列表具体地说主要能够做到以下几点: 变量的输出格式用户可以选择(Format 语句) 可在输出报表中加上标题(Title)和脚注(Footnotes 语句) 可输出数据集中变量的任何子集(Where 语句) 可以控制变量是否出现以及出现的顺序(Var 语句) 用户可以自己定制列表头(Label

3、语句) 可分组输出观测数据(By 语句) 可计算所有观测值或分组观测值的总和(Sum/Sumby 语句)及其它统计量 每页报表的宽度和长度以及每列的宽度都可控制(选项 Width=) 当数据集中变量太多时,可分成几部分输出(选项 Rows=)2 PROC PRINT 过程语句格式在 PROC PRINT 过程中,常常配合使用了许多其它 SAS 语句以达到所要求的输出报表格式,我们把在 PROC PRINT 过程中常用的一些语句的基本使用格式列出,具体使用时根据需要可能使用其中的几条语句。如下所示:PROC PRINT ;VAR 变量列表 ;ID 变量列表 ;BY 变量列表 ;PAGEBY 变量

4、;SUMBY 变量;006c021c8b653cdee4d25d37b33585d6.pdf SAS 系统和数据分析电子商务系列上海财经大学经济信息管理系IS/SHUFECreated by Page 2 of 14SUM 变量列表 ;TITLEn “标题内容”;FOOTNOTEn “标题内容” ;LABEL 变量 1=“标签 *内容” 变量 2=“标签*内容 ” ;FORMAT 变量输出格式 ;WHERE 条件表达式 ;Run ;3 PROC PRINT 的选项PROC PRINT 的选项列表包含许多选项,选项之间以空格分隔,选项没有先后次序。我们下面列出一些主要选项: DATA=数据集名给

5、出要打印输出的 SAS 数据集。如果省略,则为最近建立的 SAS 数据集。 N要求在输出这个数据集的数据列表之后,同时输出观测的总输出条数。如果使用了 BY 分组语句,在每一个分组后输出各个分组输出观测的条数。 LABEL 或 L使用变量的标签作为输出数据列表中每列的抬头。如果变量没有定义标签,则用变量名作为列抬头。 SPLIT 或 S=分隔符规定一个字符(如*号或#号)用于将较长的标签分隔成几行。在这个选项里定义了某个分隔符以后,过程中的 LABEL 语句里就可以使用这个分隔符了。另外选项 SPLIT=和 LABEL 不必同时使用。 NOOBS不输出观测数据的序号。当不用 ID 语句且又不要

6、输出观测的序号时,可使用该选项。 DOUBLE 或 D要求输出隔行打印。 ROUND 或 R对用 FORMAT 语句规定变量的输出格式中的小数点位进行四舍五入。 HEADING=H 或 V规定打印列抬头的方向。H 或 HORIZONTAL 表示所有列抬头水平打印,V 或 VERTICAL 表示所有列抬头垂直打印。 WIDTH=FULL 或 MIN 或 U 或 UBY规定使用什么作为列宽。 FULL 表示使用变量格式化宽度,MIN 或 MINIMUM 表示使用可能的最小列宽,U 或UNIFORM 表示对所有页一致地使用变量格式化宽度,UBY 或 UNIFORMBY 表示在 BY 组内对所有页一致

7、地使用变量格式化宽度。 ROWS=PAGE当数据集包含很多变量和观测时,使用此选项将在每一页中打印尽可能多的观测,能减少输出页数。VAR 语句、ID 语句和 BY 语句我们前面已经说明过了,这里不再重复。PAGEBY 语句要求和 BY 语句一起使用,当 PAGEBY 变量的值改变或者在 BY 语句中列在 PAGEBY 变量前的 BY 变量值改变时,PRINT 过程将从新的一页开始输出。SUM 语句规定计算总和的变量,SUM 语句中规定的变量可以没有列在 VAR 语句中,PRINT 过程将自动把 SUM 语句中规定的变量加到 VAR 变量列表中。SUMBY 语句必须和 BY 语句连用,用来对一部

8、分 BY 组中指定的变量求和。每当006c021c8b653cdee4d25d37b33585d6.pdf SAS 系统和数据分析电子商务系列上海财经大学经济信息管理系IS/SHUFECreated by Page 3 of 14SUMBY 变量的值变化或者 BY 语句中列在 SUMBY 变量前的变量值改变时,PRINT 将把对应 BY 组中的 SUM 语句中的变量求和。如果没有规定 SUM 语句,则将对数据集中 BY 变量以外的所有数值变量求和。SUMBY 语句的本质是通过指定 BY 变量列表中变量位置而限制BY 组中 SUM 变量求和。4 举例例如,我们要输出 SURVEY 数据集的报表。

9、报表之一的要求是:选择输出身高小于1.75 米的观测,同时给出满足条件的总输出条数,自定义要显示的变量和顺序,不显示观测的序号,求和 INCOME 变量的值,修改 BDATE 变量和 INCOME 变量输出格式,且修改它们的列标题并分两行显示,加两个标题和一个脚注。程序如下:LIBNAME STUDY “D:SASDATAMYDIR”;PROC PRINT data=study.survey noobs n split=* round width=min ;VAR name sex income bdate heigh weight ;SUM income ;TITLE1 “PROCEDURE

10、 PRINT”;TITLE2 “Dept.of Information System”;FOOTNOTE1 “SHANGHAI UNIVERSITY OF FINANCE AND ECONOMICS”;LABEL Bdate=Date of*Brithday Income=Total*Income ;FORMAT Bdate DATE7. Income dollar12.2 ;WHERE heigh ;CLASS 分类变量列表 ;VAR 分析变量列表 ;TABLE 行表达式, 列表达式 ;LABEL 变量 1=“标签*内容 ” 变量 2=“标签*内容” ;KEYLABEL 统计量名字 1=“标

11、记 1” 统计量名字 2=“标记 2” ;FORMAT 变量输出格式 ;WHERE 条件表达式 ;Run ;PROC TABULATE 语句总是伴随着至少一个 TABLE 语句来规定如何制表。用在TABLE 语句的分类变量必须用 CLASS 语句说明。用在 TABLE 语句的分析变量必须用 VAR语句说明。同时出现在 CLASS 语句和 VAR 语句中的变量,只能作为分类变量使用。CLASS、VAR 和 TABLE 语句是构成 PROC TABULATE 过程最基本的三条语句。3 PROC TABULATE 的选项PROC TABULATE 的选项列表包含许多选项,选项之间以空格分隔,几个主要

12、的选项说明如下: DATA=数据集名给出要制表输出的 SAS 数据集。如果省略,则为最近建立006c021c8b653cdee4d25d37b33585d6.pdf SAS 系统和数据分析电子商务系列上海财经大学经济信息管理系IS/SHUFECreated by Page 7 of 14的 SAS 数据集。 NOSEPS要求在表体中不出现水平分隔线。 FORMCHAR= 字符串 规定用来构造报表轮廓和分隔线的字符。字符串为 11 个制表字符,用来定义画垂直和水平线的 2 个字符,及画 9 个角字符:左上、中上、右上、左中、中中(交叉) 、右中、左下、中下、右下。缺省值是FORMCHAR=|-|

13、+|-。如果要改变边角线,例如想把 4 个角换成*,则可使用FORMCHAR(3 5 9 11)=* * * *,如果 FORMCHAR=选项赋了 11 个空格,则生成没有边框和分隔线的报表。 MISSING要求把丢失值作为分类变量的有效水平。即汇总时包含分类变量中有丢失值的观测。4 TABLE 语句的使用和输出表格结构如何正确地理解和使用 TABLE 语句是掌握 PROC TABULATE 过程的关键所在。汇总报表输出的表格形状和所计算的统计量都是由 TABLE 语句中的表达式决定的,这个表达式中包含元素和操作符。元素指分类变量、分析变量和统计量,当表达式包含多个元素时,需要用操作符把它们连

14、接起来。使用不同的操作符连接会产生不同的表格形状。下面列出一些主要的操作符及其作用:TABLE 表达式中的操作符 作用逗号 , 转另一维空格 表格并排连接星号 * 交叉组合分组园括号 ( ) 分组或规定次序为了便于理解 TABLE 表达式中操作符的作用,我们举一个假设的例子来说明。有 SAS数据集 ABCX,其中有四个变量 A、B 、C 和 X,变量 A、B 、C 我们将在 PROX TABULATE 过程中用 CLASS 语句定义为分类变量,我们可以理解为它是一个产品的大类A、中类 B 和小类 C。而 X 变量是一个数值型变量,用 VAR 定义为分析变量,我们可以理解为它是一个产品的销售数量或收入金额或价格等。假设的数据集 ABCX 可能数据值如下表所示:变量名 TABLE 中的变量类型 可能的数据值A 分类变量 A1,A2B 分类变量 B1,B2C 分类变量 C1,C2,C3X 分析变量 111223ABCX 数据集中的具体观测值见下表所示:OBS A B C X1 A1 B1 C1 111006c021c8b653cdee4d25d37b33585d6.pdf SAS 系统和数据分析电子商务系列上海财经大学经济信息管理系IS/SHUFECreated by Page 8 of 142 A1 B1 C2 1123 A1 B1 C3 1134 A

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号