资源预览内容
第1页 / 共26页
第2页 / 共26页
第3页 / 共26页
第4页 / 共26页
第5页 / 共26页
第6页 / 共26页
第7页 / 共26页
第8页 / 共26页
第9页 / 共26页
第10页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
制作列表报告要 求会使用菜单(List Report)以列表形式输出数据集会使用Proc Print 打印输出数据集第4讲 数据汇总与报表制作制作列表报告 一类是显示详细数据的报告,它将数据集中每 条记录的内容直接显示.在SAS中最常使用Print 过程;或采用Report窗口或过程,它提供更强的显 示详细数据的功能. 另一类是汇总数据的报表,它将数据集中的 数据按指定的方式分类汇总,计算各项分类指 标.在SAS中是采用过程tabulate或与此联系的 菜单窗口,另用于计算描述统计量的过程也提供 了显示相应内容的报告功能.基于数据集的报表从其内容来看大体有两类:制作列表报告 用Proc Print 产生列表报告PROC PRINT DATA=SAS-data-set ;ID variable ;VAR variables ;WHERE where-expression ;SUM variables ;BY by-variables ;PAGEBY by- variables ; RUN;PROC PRINT DATA=SAS-data-set; RUN;编程:制作列表报告 用Proc Print 产生列表报告PROC PRINT DATA=D:dstclass.sas7bdat;ID name;VAR age height weight; RUN;PROC PRINT DATA=dst.class;RUN;例如:proc sort data=dst.class out=class;by sex; proc print data=class noobs;by sex;sum height weight; run; (Print11.sas)制作列表报告 用Proc Print 产生列表报告proc print data=class(where=(sex=F) width=min ;id name;var age weight;sum height; run; (Print11.sas)proc print data=class noobs label ;where sex= F;sum height weight; run; 制作列表报告 用Proc Print 产生列表报告PROC PRINT 选项; HEADING=v|h列台头的输出方向(用 垂直或水平)PROC PRINT 的一些选项:LABEL|L使用变量的标签作为列台头;SPLIT=分隔符规定一个符号用于把长标签分隔成几行输出; WIDTH=Full|Min|U指定列宽度的输出原则.制作列表报告 用Proc Print 产生列表报告 LABEL variable1=label variable2=label . . . . . . . . . . ;Print 选项 : SPLIT=符号Label语句:proc print data=class split=#;label weight=weight#in#pounds ;run;例如:制作列表报告 用Proc Print 产生列表报告TITLEn text;FOOTNOTEn text;标题、脚注和选项:OPTIONS options;制作列表报告 用Proc Print 产生列表报告 与PRINT有关的一些系统选项 CENTER | NOCENTER是否居中 DATE | NODATE是否输出日期 NUMBER | NONUMBER是否加页码 LINESIZE=width每行的宽度 PAGESIZE=n 每页的行数 PAGENO=n 定义方法: OPTIONS 语句 OPTIONS 窗口制作列表报告 用Proc Print 产生列表报告 FORMAT语句:FORMAT variables format ;定义用户格式:PROC FORMAT;VALUE format-namerange1=labelrange2=label. . . . . ; run;制作列表报告 改进列表报告-综合例子 proc format;value group low-95=S 96-110=M 111-high=L; run; optionS ps=40 ls=80; proc print data=class split=* label;format weight group.; id name;var sex height weight ;title 中学生数据; footnote 1986;label name=First*name sex=Genderweight=Weight*in*groupheight =Height*in*inches; run; print12.sas 制作列表报告用Printto过程改变输出位置proc printto print=文件名log=文件名 new ;过程步 proc printto ; 将输出结果和运行信息直接记入文件filename fileref 文件名;制作列表报告 用Printto过程改变输出位置-例子(1) proc printto log=a:session.log; (2) filename outlist c:list.lst ;proc printto print=outlist; (3) proc printto print=printer;run; (4) proc printto;run; (Print13.sas)制作列表报告 本节的练习题1.使用Print 过程打印输出数据集.(用class数据集)产生汇总表格 要 求明确分类变量、分析变量和统计量 的概念;会使用菜单制作简单的汇总报表;会使用Proc Tabulate制作简单的 汇总报表.产生汇总表格 制作汇总表格需明确的要素: 确定分析变量及统计量; 确定分类变量; 确定表格的结构与形式.产生汇总表格 编程-使用过程Tabulate PROC TABULATE DATA=SAS-data-set options; CLASS class-variables; VAR analysis-variables ; TABLE page-expression, row-exp., col-exp. /options ; RUN;用编程制作汇总表是使用过程Tabulate产生汇总表格 编程-控制表格结构 例2.1: Flights数据集包括三个变量: 航班(FLIGHT),月份(MONTH)和日期 (DAY).试生成各航班的汇总表. proc tabulate data=flights;class flight;table flight;run;(print21.sas)产生汇总表格 编程-控制表格结构 proc tabulate data=flights; class flight day; table flight,day; run; (转到SAS运行print22.sas)例2.2: 试试生成各航班在某日期的汇总汇总 表.产生汇总表格 编程-控制表格结构 proc tabulate data=flights; class flight day; table flight day; run;例2.3: 试生成各航班和日期的并排汇总表.(转到SAS运行print23.sas)产生汇总表格 编程-控制表格结构 proc tabulate data=flights; class flight day; table flight*day; run; 例2.4:试生成各航班和日期的交叉汇总表.(转到SAS运行print24.sas)产生汇总表格 编程-控制表格结构 proc tabulate data=flights; class flight day month; table flight,day,month; run; 例2.5:试试生成各航班在某月某日期的汇总汇总 表.(print25.sas)产生汇总表格 编程-计算统计量 在TABULATE过程步中可计算统计量 N NMISS MEAN STD MIN MAX RANGE SU PCTN PCTSUM 为统计量及全类变量ALL加LABEL KEYLABEL Keyword=label;23产生汇总表格 编程-计算统计量 例2.6: SALARY数据集有三个变量:性别 (SEX),工种(JOBCODE)和薪金(SALARY).试生 成比较各种不同工种和不同性别间最高薪金的汇 总表. proc tabulate data=salary format=dollar10.0 ; class sex jobcode; var salary; table sex,jocode*salary*max / rts=8; run; (转到SAS运行 print26.sas)产生汇总表格 编程-计算统计量产生汇总表格 本节的练习题1. 用编程方法对数据集flight (或salary)的数据绘制几种汇总 表格;
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号