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

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

proc tabulate data=flights; class flight; table flight; run;
(print21.sas)
22
2007北京大学 2007北京大学
产生汇总表格
编程--控制表格结构 编程 控制表格结构
试生成各航班在某日期的汇总表. 例2.2: 试生成各航班在某日期的汇总表. proc tabulate data=flights; class flight day; table flight,day; run;
(Print13.sas)
15
2007北京大学 2007北京大学
制作列表报告
本节的练习题
1. 使用菜单系统 使用菜单系统Analyst(List)以列表形 以列表形 式输出数据集; 式输出数据集 2. 使用 使用Print 过程打印输出数据集 过程打印输出数据集. (用class数据集 用 数据集) 数据集
8
2007北京大学 2007北京大学
制作列表报告
用Proc Print 产生列表报告
LABEL variable1=label Label语句: 语句: 语句 variable2=label ..........;
Print 选项 : SPLIT=‘符号’ 例如: 例如 proc print data=class split=‘#’; label weight=‘weight#in#pounds’ ; run;
与PRINT有关的一些系统选项 PRINT有关的一些系统选项
CENTER | NOCENTER—是否居中 是否居中 DATE | NODATE—是否输出日期 NODATE—是否输出日期 NUMBER | NONUMBER—是否加页码 是否加页码 LINESIZE=width—每行的宽度 每行的宽度 PAGESIZE=n —每页的行数 每页的行数 PAGENO=n 定义方法:
PROC PRINT DATA=SAS-data-set <options> ; ID variable ; VAR variables ; WHERE where-expression ; SUM variables ; BY by-variables ; PAGEBY by- variables ; RUN;
12
2007北京大学 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
产生汇总表格
制作汇总表格需明确的要素: 制作汇总表格需明确的要素: 确定分析变量及统计量; 确定分析变量及统计量; 确定分类变量; 确定分类变量 确定表格的结构与形式. 确定表格的结构与形式
18
2007北京大学 2007北京大学
产生汇总表格
使用Analyst菜单 使用 菜单
进入Analyst并打开数据集后选择菜单项: 并打开数据集后选择菜单项: 进入 并打开数据集后选择菜单项 报表(Reports) ⇒ 表(Tables) 再选择一种 表格形式进 行设置( 行设置(如 最下方表格 形式). 形式).
16
2007北京大学 2007北京大学
产生汇总表格 要
的概念; 的概念 • 会使用菜单制作简单的汇总报表 会使用菜单制作简单的汇总报表; • 会使用 会使用Proc Tabulate制作简单的汇总 制作简单的汇总 报表. 报表
17

• 明确分类变量、分析变量和统计量 明确分类变量、
2007北京大学 2007北京大学
13
2007北京大学 2007北京大学
制作列表报告
用Printto过程改变输出位置 过程改变输出位置
将输出结果和运行信息直接记入文件 proc printto print='文件名' log=‘文件名’ new ; 过程步 proc printto ;
filename fileref '文件名'; 文件名'

19
2007北京大学 2007北京大学
产生汇总表格
使用Analyst菜单 使用 菜单
Options按键可 打开设置附加 选项的窗口 Summary标签下汇总了变量的选择 标签下汇总了变量的选择
20
2007北京大学 2007北京大学
产生汇总表格
编程--使用过程 编程 使用过程Tabulate 使用过程
(转到SAS运行print24.sas) 转到SAS运行print24.sas) SAS运行 25
2007北京大学 2007北京大学
产生汇总表格
编程--控制表格结构 编程 控制表格结构
试生成各航班在某月某日期的汇总表. 例2.5:试生成各航班在某月某日期的汇总表. proc tabulate data=flights; cBiblioteka Baiduass flight day month; table flight,day,month; run;
6
2007北京大学 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; (Print11.sas) run;
3
2007北京大学 2007北京大学
制作列表报告
用List菜单产生列表报告 菜单产生列表报告
启动“分析家” 启动“分析家”(Analyst) ⇒ 打开数据集 打开数据集(如CLASS) ⇒ 报表 报表(Report) ⇒ 数据列表( List data) 数据列表( ⇒ 选择 变量和 选择ID变量和 变量和Print变量及标题 变量及标题
数据汇总 与 报表制作
计算机统计分析软件 (SAS系统9.1.2)
1
2007北京大学 2007北京大学
制作列表报告
要 求
• 会使用菜单 会使用菜单(List Report)以列表形式 以列表形式 输出数据集 • 会使用 会使用Proc Print 打印输出数据集
2
2007北京大学 2007北京大学
制作列表报告
基于数据集的报表从其内容来看大体有两类: 一类是显示详细数据的报告,它将数据集中 每条记录的内容直接显示.在SAS中最常使用 Print过程;或采用Report窗口或过程,它提供更 强的显示详细数据的功能. 另一类是汇总数据的报表, 另一类是汇总数据的报表,它将数据集中的 数据按指定的方式分类汇总, 数据按指定的方式分类汇总,计算各项分类指 SAS中是采用过程tabulate或与此联系的 中是采用过程tabulate 标.在SAS中是采用过程tabulate或与此联系的 菜单窗口, 菜单窗口,另用于计算描述统计量的过程也提供 了显示相应内容的报告功能.
并由Options(选项)键可以规定列台头是用变量 选项) 并由 选项 名或标签,行间间隔, 名或标签,行间间隔,数值变量是否求和等
⇒OK⇒显示报表 ⇒显示报表.
4
2007北京大学 2007北京大学
制作列表报告
用Proc Print 产生列表报告
编程: 编程:
PROC PRINT DATA=SAS-data-set; RUN;
21
2007北京大学 2007北京大学
产生汇总表格
编程--控制表格结构 编程 控制表格结构
Flights数据集包括三个变量 数据集包括三个变量: 例2.1: Flights数据集包括三个变量: 航班(FLIGHT),月份(MONTH)和日期( 航班(FLIGHT),月份(MONTH)和日期(DAY). 月份 和日期 试生成各航班的汇总表. 试生成各航班的汇总表.
9
2007北京大学 2007北京大学
制作列表报告
用Proc Print 产生列表报告
标题、脚注和选项: 标题、脚注和选项: TITLEn text; FOOTNOTEn text; OPTIONS options;
10
2007北京大学 2007北京大学
制作列表报告
用Proc Print 产生列表报告
OPTIONS 语句 OPTIONS 窗口 11
2007北京大学 2007北京大学
制作列表报告
用Proc Print 产生列表报告
FORMAT语句: 语句: 语句
FORMAT variables format ;
定义用户格式: 定义用户格式:
PROC FORMAT; VALUE format-name range1=label range2=label ..... ; run;
14
2007北京大学 2007北京大学
制作列表报告
用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;
(转到SAS运行print22.sas) 转到SAS运行print22.sas SAS运行
23
2007北京大学 2007北京大学
产生汇总表格
编程--控制表格结构 编程 控制表格结构
试生成各航班和日期的并排汇总表. 例2.3: 试生成各航班和日期的并排汇总表.
proc tabulate data=flights; class flight day; table flight day; run;
(转到 转到SAS运行 运行print23.sas) 转到 运行 24
2007北京大学 2007北京大学
产生汇总表格
编程--控制表格结构 编程 控制表格结构
例2.4:试生成各航班和日期的交叉汇总表. 试生成各航班和日期的交叉汇总表.
proc tabulate data=flights; class flight day; table flight*day; run;
5
2007北京大学 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; run (Print11.sas)
7
2007北京大学 2007北京大学
制作列表报告
用Proc Print 产生列表报告
PROC PRINT 选项; 选项;
PROC PRINT 的一些选项 的一些选项:
HEADING=v|h—列台头的输出方向(用垂直 或水平) LABEL|L—使用变量的标签作为列台头; SPLIT=‘分隔符’—规定一个符号用于把长标 签分隔成几行输出; WIDTH=Full|Min|U—指定列宽度的输出原则.
用编程制作汇总表是使用过程Tabulate 用编程制作汇总表是使用过程Tabulate PROC TABULATE DATA=SAS-data-set options; CLASS class-variables; ; VAR analysis-variables ; TABLE page-expression, row-exp., col-exp. /options ; RUN; ;
相关文档
最新文档