sas实现数据汇总和报表制作

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

2007北京大学
产生汇总表格
编程--计算统计量
例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)
27
2007北京大学
产生汇总表格
编程--计算统计量
28
2007北京大学
产生汇总表格
本节的练习题
1. 使用ANALYST(V8)对数据集 flight(或salary)的数据绘制几种汇 总表格; 2.用编程方法对数据集flight (或 salary)的数据绘制几种汇总表格;
2007北京大学
产生汇总表格
编程--控制表格结构
例2.3: 试生成各航班和日期的并排汇总表.
proc tabulate data=flights; class flight day; table flight day; run;
(转到SAS运行print23.sas)
23
2007北京大学
产生汇总表格
12
2007北京大学
制作列表报告
用Printto过程改变输出位置
将输出结果和运行信息直接记入文件
proc printto print='文件名' log=‘文件名’ new ; 过程步 proc printto ;
filename fileref '文件名';
13
2007北京大学
制作列表报告
用Printto过程改变输出位置--例子
(Print13.sas)
14
2007北京大学
制作列表报告
本节的练习题
1. 使用菜单系统Analyst(List)以列表形 式输出数据集; 2. 使用Print 过程打印输出数据集.
(用class数据集)
15
2007北京大学
产生汇总表格 要
的概念; • 会使用菜单制作简单的汇总报表; • 会使用Proc Tabulate制作简单的汇总 报表.
run;
8
2007北京大学

制作列表报告
用Proc Print 产生列表报告
标题、脚注和选项: TITLEn text;
FOOTNOTEn text; OPTIONS options;
9
2007北京大学
制作列表报告
用Proc Print 产生列表报告
与PRINT有关的一些系统选项
CENTER | NOCENTER—是否居中 DATE | NODATE—是否输出日期 NUMBER | NONUMBER—是否加页码 LINESIZE=width—每行的宽度 PAGESIZE=n —每页的行数 定义方法: PAGENO=n
OK显示报表.
3
2007北京大学
制作列表报告
用Proc Print 产生列表报告
编程:
PROC PRINT DATA=SAS-data-set; RUN;
PROC PRINT DATA=SAS-data-set <options> ; ID variable ; VAR variables ; WHERE where-expression ; SUM variables ; BY by-variables ; PAGEBY by- variables ; RUN;
2
2007北京大学
制作列表报告
用List菜单产生列表报告
启动“分析家”(Analyst) 打开数据集(如CLASS) 报表(Report) 数据列表( List data) 选择ID变量和Print变量及标题
并由Options(选项)键可以规定列台头是用变量 名或标签,行间间隔,数值变量是否求和等
5
2007北京大学
制作列表报告
用Proc Print 产生列表报告
proc print data=class noobs label ; where sex=‘ F’; sum height weight; run; proc print data=class(where=(sex=‘F’)) width=min ; id name; var age weight; sum height; run; (Print11.sas)
4
2007北京大学
制作列表报告
用Proc Print 产生列表报告
例如:
PROC PRINT DATA=dst.class; RUN;
PROC PRINT DATA=‘D:\dst\class.sas7bdat’; ID name; VAR age height weight; RUN; proc sort data=dst.class out=class; by sex; proc print data=class noobs; by sex; sum height weight; run; (Print11.sas)
7
2007北京大学
制作列表报告
用Proc Print 产生列表报告
LABEL variable1=label Label语句: variable2=label ..........;
Print 选项 : SPLIT=‘符号’
例如:
proc print data=class split=‘#’;
label weight=‘weight#in#pounds’ ;
16

• 明确分类变量、分析变量和统计量
2007北京大学
产生汇总表格
制作汇总表格需明确的要素:
确定分析变量及统计量; 确定分类变量; 确定表格的结构与形式.
17
2007北京大学
产生汇总表格
使用Analyst菜单
进入Analyst并打开数据集后选择菜单项: 报表(Reports) 表(Tables) 再选择一种 表格形式进 行设置(如 最下方表格 形式).
OPTIONS 语句 OPTIONS 窗口 10
2007北京大学
制作列表报告
用Proc Print 产生列表报告
FORMAT语句:
FORMAT variables format ;
定义用户格式:
PROC FORMAT; VALUE format-name range1=label range2=label ..... ; run;
(print25.sas)
25
2007北京大学
产生汇总表格
编程--计算统计量
在TABULATE过程步中可计算统计量 N NMISS MEAN STD MIN MAX RANGE SUM PCTN PCTSUM 为统计量及全类变量ALL加LABEL KEYLABEL Keyword=label;
26
(print21.sas)
21
2007北京大学
产生汇总表格
编程--控制表格结构
例2.2: 试生成各航班在某日期的汇总表.
proc tabulate data=flights; class flight day; table flight,day; run;
(转到SAS运行print22.sas)
22
20
2007北京大学
产生汇总表格
编程--控制表格结构
例2.1: Flights数据集包括三个变量:
航班(FLIGHT),月份(MONTH)和日期(DAY). 试生成各航班的汇总表.
proc tabulate data=flights; class flight; table flight; run;

18
2007北京大学
产生汇总表格
使用Analyst菜单
Options按键可 打开设置附加 选项的窗口 Summary标签下汇总了变量的选择
19
2007北京大学
产生汇总表格
编程--使用过程Tabulate
用编程制作汇总表是使用过程Tabulate
PROC TABULATE DATA=SAS-data-set options; CLASS class-variables; VAR analysis-variables ; TABLE page-expression, row-exp., col-exp. /options ; RUN;
(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;
编程--控制表格结构
例2.4:试生成各航班和日期的交叉汇总表.
proc tabulate data=flights; class flight day; table flight*day; run;
(转到SAS运行print24.sas)
24
2007北京大学
产生汇总表格
编程--控制表格结构
例2.5:试生成各航班在某月某日期的汇总表. proc tabulate data=flights; class flight day month; table flight,day,month; run;
29
2007北京大学
制作列表报告
要 求
• 会使用菜单(List Report)以列表形式 输出数据集 • 会使用Proc Print 打印输出数据集
1
2007北京大学
制作列表报告
基于数据集的报表从其内容来看大体有两类: 一类是显示详细数据的报告,它将数据集中 每条记录的内容直接显示.在SAS中最常使用 Print过程;或采用Report窗口或过程,它提供更 强的显示详细数据的功能. 另一类是汇总数据的报表,它将数据集中的 数据按指定的方式分类汇总,计算各项分类指 标.在SAS中是采用过程tabulate或与此联系的 菜单窗口,另用于计算描述统计量的过程也提供 了显示相应内容的报告功能.
6
2007北京大学
制作列表报告
用Proc Print 产生列表报告
PROC PRINT 选项;
PROC PRINT 的一些选项:
HEADING=v|h—列台头的输出方向(用垂直 或水平) LABEL|L—使用变量的标签作为列台头;
SPLIT=‘分隔符’—规定一个符号用于把长标 签分隔成几行输出; WIDTH=Full|Min|U—指定列宽度的输出原则.
11
2007北京大学
制作列表报告
改进列表报告--综合例子
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='Gender' weight='Weight*in*group' height ='Height*in*inches'; run; print12.sas
相关文档
最新文档