SAS系统和数据分析使用列表报告和汇总报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第十七课使用列表报告PROC PRINT和汇总报告PROC TABULATE

利用SAS系统提供的各种过程可以制作各种风格的报表。一份好的输出报表可以使用户更直观、更清楚和更容易地了解和明白统计计算的结果,因此如何制作一个能充分揭示运算结果信息和满足要求的报告,也是非常重要的。SAS系统提供的各种制作报表的过程中,最常用的是以下两种:

●列表报告PROC PRINT过程

●汇总报告PROC TABULATE过程

一、列表报告PROC PRINT过程

所谓列表报告PROC PRINT过程,将输出SAS数据集中的数值,输出时把数据集中的每一个变量形成输出报表的列,而每一个观测形成输出报表的一行。

1.PROC PRINT过程的主要功能

PROC PRINT过程输出的数据列表具体地说主要能够做到以下几点:

●变量的输出格式用户可以选择(Format语句)

●可在输出报表中加上标题(Title)和脚注(Footnotes语句)

●可输出数据集中变量的任何子集(Where语句)

●可以控制变量是否出现以及出现的顺序(V ar语句)

●用户可以自己订制列表头(Label语句)

●可分组输出观测数据(By语句)

●可计算所有观测值或分组观测值的总和(Sum/Sumby语句)及其他统计量

●每页报表的宽度和长度以及每列的宽度都可控制(选项Width=)

●当数据集中变量太多时,可分成几部分输出(选项Rows=)

2.PROC PRINT过程语句格式

在PROC PRINT过程中,常常配合使用了许多其他SAS语句以达到所要求的输出报表格式,我们把在PROC PRINT过程中常用的一些语句的基本使用格式列出,具体使用时根据需要可能使用其中的几条语句。如下所示:

PROC PRINT<选项列表> ;

V AR变量列表;

ID变量列表;

BY变量列表;

PAGEBY变量;

SUMBY 变量;

SUM变量列表;

TITLE n “标题内容”;

FOOTNOTE n “标题内容”;

LABEL变量1=“标签*内容”变量2=“标签*内容”……;

FORMAT变量输出格式;

WHERE条件表达式;

……

Run ;

3.PROC PRINT的选项

PROC PRINT的选项列表包含许多选项,选项之间以空格分隔,选项没有先后次序。我们下面列出一些主要选项:

●DATA=数据集名——给出要打印输出的SAS数据集。如果省略,则为最近建立的

SAS数据集。

●N——要求在输出这个数据集的数据列表之后,同时输出观测的总输出条数。如果

使用了BY分组语句,在每一个分组后输出各个分组输出观测的条数。

●LABEL或L——使用变量的标签作为输出数据列表中每列的抬头。如果变量没有

定义标签,则用变量名作为列抬头。

●SPLIT或S=‘分隔符’——规定一个字符(如*号或#号)用于将较长的标签分隔

成几行。在这个选项里定义了某个分隔符以后,过程中的LABEL语句里就可以使

用这个分隔符了。另外,选项SPLIT=和LABEL不必同时使用。

●NOOBS——不输出观测数据的序号。当不用ID语句且又不要输出观测的序号时,

可使用该选项。

●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组

内对所有页一致地使用变量格式化宽度。

●ROWS=PAGE——当数据集包含很多变量和观测时,使用此选项将在每一页中打

印尽可能多的观测,能减少输出页数。

V AR语句、ID语句和BY语句我们前面已经说明过了,这里不再重复。

PAGEBY语句要求和BY语句一起使用,当PAGEBY变量的值改变或者在BY语句中列在PAGEBY变量前的BY变量值改变时,PRINT过程将从新的一页开始输出。

SUM语句规定计算总和的变量,SUM语句中规定的变量可以没有列在V AR语句中,PRINT过程将自动把SUM语句中规定的变量加到V AR变量列表中。

SUMBY语句必须和BY语句连用,用来对一部分BY组中指定的变量求和。每当SUMBY 变量的值变化或者BY语句中列在SUMBY变量前的变量值改变时,PRINT将把对应BY组

中的SUM语句中的变量求和。如果没有规定SUM语句,则将对数据集中BY变量以外的所有数值变量求和。SUMBY语句的本质是通过指定BY变量列表中变量位置而限制BY组中SUM变量求和。

4.举例

例如,我们要输出SURVEY数据集的报表。报表之一的要求是:选择输出身高小于1.75米的观测,同时给出满足条件的总输出条数,自定义要显示的变量和顺序,不显示观测的序号,求和INCOME变量的值,修改BDA TE变量和INCOME变量输出格式,且修改它们的列标题并分两行显示,加两个标题和一个脚注。程序如下:

LIBNAME STUDY “D:\SASDA TA\MYDIR”;

PROC PRINT data=study.survey noobs n split='*' round width=min ;

V AR name sex income bdate heigh weight ;

SUM income ;

TITLE1“PROCEDURE 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<=1.75 ;

Run ;

程序运行结果如图17.1所示。

相关文档
最新文档