1 PROC REPORT语法
PROC REPORT data= SAS-data-set options ;
COLUMNS variable_1 …. variable_n;
DEFINE variable_1;
DEFINE variable_2;
. . .
DEFINE variable_n;
COMPUTE blocks
BREAK … ;
RBREAK … ;
RUN;
COLUMNS:指定输出到报表的列
DEFINE:上述列的格式等
COMPUTE:计算模块
BREAK / RBREAK:生成合计,或报表其它类型的格式。
PROC REPORT的选项Options有很多,下面介绍几个常用的:
DATA= 指定做报表的数据集
PROMPT= PROMPT模式
NOWINDOWS= 不输出到结果
REPORT = 指定一个存储的报表来生成新报表
OUTREPT= 指定新路径来存放报表
OUT= 建立新数据集
HEADLINE 在报表变量标题和内容间生成一个水平分隔线
HEADSKIP 在报表变量标题和内容间生成一行空格
2 先生成一个基本的报表
先生成数据:
data mnthly_sales;
length zip $ 5 cty $ 8 var $ 10;
input zip $ cty $ var $ sales;
label zip="Zip Code"
cty="County"
var="Variety"
sales="Monthly Sales";
datalines;
52423 Scott Merlot 186.
52423 Scott Chardonnay 156.61
52423 Scott Zinfandel 35.5
52423 Scott Merlot 55.3
52388 Scott Merlot 122.89
52388 Scott Chardonnay 78.22
52388 Scott Zinfandel 15.4
52200 Adams Merlot 385.51
52200 Adams Chardonnay 246
52200 Adams Zinfandel 151.1
52200 Adams Chardonnay 76.24
52199 Adams Merlot 233.03
52199 Adams Chardonnay 185.22
52199 Adams Zinfandel 95.84
;
run;
Proc Report生成最基本的报表:
proc report data=mnthly_sales
headline headskip ;
title1 "Simple Report";
column cty zip var sales;
define cty / display width=6 'County/Name';
define zip / display;
define var / display;
define sales / display format=6.2 width=10;
run;
这里的define后面的’/’,其后面有很多选项来对变量格式,输出方式等进行设置,其选项如下:
GROUP:分组显示
DISPLAY:一般显示
ANALYSIS:其值用于计算或统计
ORDER:按其值排序显示
ACROSS:交叉显示
COMPUTED:其值在compute块里计算得到
结果:
3 使用order,按指定变量名排序显示
proc report data=mnthly_sales
headline headskip ;
title1 "Simple Report";
column cty zip var sales;
define cty / order width=6 'County/Name';
define zip / display;
define var / display;
define sales / display format=6.2 width=10;
run;
结果:
4 group分组显示
proc report data=mnthly_sales nofs
headline headskip ;
title1 "Simple Report";
column cty zip var sales;
define cty / group width=6 'County/Name';
define zip / group;
define var / group order=freq descending;
define sales / display format=6.2 width=10;
run;
结果:
5 analysis,统计量求和
proc report data=mnthly_sales nofs
headline headskip ;
title1 "Simple Report";
column cty zip sales;
define cty / group width=6 'County/Name';
define zip / group;
define sales / analysis sum format=6.2 width=10;
run;
结果:
6 求多个统计量
proc report data=mnthly_sales nofs
headline headskip ;
title1 "Simple Report";
column cty zip sales sales=mean_sales;
define cty / group width=6 'County/Name';
define zip / group;
define sales / analysis sum format=6.2 width=10 'sum';
define mean_sales / analysis mean format=6.2 width=10 'Mean of/Sales';
run;
结果:
7 如果你想让某变量的每一个值都作为一列,那就要用到across。这里要注意的是,有across选项的var,在column时后面加了一个’,’,从而将其后面的变量的数据直接放到across变量下。。
proc report data=mnthly_sales nofs headline headskip;
title1 "Cross Tab Report (Across Type)";
column cty zip var,sales;
define cty / group width=6 'County/Name';
define zip / group;
define var / across order=freq descending '- Grape Variety -';
define sales / analysis sum format=6.2 width=10 'Revenue';
run;
结果:
这里,变量variety的每一个值都成为了新的列
8 BREAK与RBREAK,对分组后的报表汇总
proc report data=mnthly_sales nofs headline headskip;
title1 "Report with Breaks";
column cty zip var,sales;
define cty / group width=6 'County/Name';
define zip / group;
define var / across order=freq descending '- Grape Variety -';
define sales / analysis sum format=6.2 width=10 'Revenue';
break after cty / ol skip summarize suppress;
rbreak after / dol skip summarize;
run;
结果:
这里说明一下BREAK与RBREAK后面的选项:
OL 汇总上方加一条线
DOL汇总上方加两条线
UL汇总下方加一条线
DUL 汇总下方加两条线
summarize 对每组进行汇总
skip 加入一空白行
suppress 在汇总行不显示组名
9 compute块,计算统计变量,这个以后将专门介绍
proc report data=mnthly_sales nofs headline headskip;
title1 "Report with Row Sums (Computed Type)";
column cty zip var,sales row_sum;
define cty / group width=6 'County/Name';
define zip / group;
define var / across order=freq descending '- Grape Variety -';
define sales / analysis sum format=6.2 width=10 'Revenue';
define row_sum / computed format=comma10.2 'Total';
break after cty / ol skip summarize suppress;
rbreak after / dol skip summarize;
compute row_sum;
row_sum = sum(_C3_,_C4_,_C5_,_C6_,_C7_,_C8_);
endcompute;
run;
结果:
Compute块是以compute开始,endcompute为结尾,可以计算出很多复杂的数据。这里的_C*_表示第几列的变量,例如_C3_表示第三列,_C#_代表最后一行。这里的_C7_和_C8_是多余的,但不影响结果。
10 proc report与ODS,以后会详细介绍。这里用ODS输出report过程结果,方法很简单,就是将上面的report代码放入ods语句之间。
ods listing close;
ods rtf file = ‘c:\sugi30.rtf’;
上面的proc report过程代码放在这里就行
ods rtf close;
即:
ods listing close;
ods rtf file = 'c:\sugi30.rtf';
proc report data=mnthly_sales nofs headline headskip;
title1 "Report with Row Sums (Computed Type)";
column cty zip var,sales row_sum;
define cty / group width=6 'County/Name';
define zip / group;
define var / across order=freq descending '- Grape Variety -';
define sales / analysis sum format=6.2 width=10 'Revenue';
define row_sum / computed format=comma10.2 'Total';
break after cty / ol skip summarize suppress;
rbreak after / dol skip summarize;
compute row_sum;
row_sum = sum(_C3_,_C4_,_C5_,_C6_,_C7_,_C8_);
endcompute;
run;
ods rtf close;
结果:
11 report设置style,让报表更炫一点。这个以后也会详细介绍
ods listing close;
ods rtf file = 'c:\sugi30.rtf';
proc report data=mnthly_sales nofs headline headskip
style(header)={background=lightskyblue foreground=black}
style(column)={background=lightcyan foreground=black};
title1 "Report with Row Sums (Computed Type)";
column cty zip var,sales row_sum;
define cty / group width=6 'County/Name';
define zip / group;
define var / across order=freq descending '- Grape Variety -';
define sales / analysis sum format=6.2 width=10 'Revenue';
define row_sum / computed format=comma10.2 'Total';
break after cty / ol skip summarize suppress;
rbreak after / dol skip summarize;
compute row_sum;
row_sum = sum(_C3_,_C4_,_C5_,_C6_,_C7_,_C8_);
endcompute;
run;
ods rtf close;
结果:
- 大小: 21.9 KB
- 大小: 17.6 KB
- 大小: 15.3 KB
- 大小: 6.9 KB
- 大小: 8.3 KB
- 大小: 13.2 KB
- 大小: 46.8 KB
- 大小: 23.6 KB
- 大小: 38.7 KB
- 大小: 39.6 KB
分享到:
相关推荐
3. 报告生成过程:如PROC PRINT(打印)、PROC REPORT(复杂报告)、PROC TABULATE(表格生成)等,用于展示分析结果。 4. 其他过程:如PROC IMPORT(导入数据)、PROC EXPORT(导出数据)、PROC TEMPLATE(创建...
- 在`PROC REPORT`中使用`SUPPRESS`选项来隐藏不希望展示的列。 - **示例代码**: ```sas proc report data=dataset nowd headline; columns variable1 variable2 variable3; define variable1 / display; ...
1. **报告编写程序**:这类程序主要用于创建复杂的报告和图形,包括数据摘要、交叉表、频率分布等,如PROC REPORT和PROC PRINT。 2. **统计程序**:涵盖了广泛的统计分析技术,如回归分析、方差分析、生存分析等,...
可能涉及的Proc过程可能包括PROC SQL用于数据查询和整合,PROC FREQ用于频率表和交叉表分析,PROC MEANS或PROC UNIVARIATE用于描述性统计,PROC REG或PROC GLM进行回归分析,以及PROC REPORT或ODS Graphics生成报告...
通过读取`/proc/binder/failed_transaction_log`和`/proc/binder/transaction_log`文件,记录了Binder框架中的事务信息,Binder是Android系统中进程间通信的基础,这些日志对于调试复杂的IPC问题至关重要。...
5. **报告生成**:PROC REPORT 和 PROC PRINT 提供灵活的报表设计,可以生成符合银行内部规范的各类业务报告。 6. **时间序列分析**:PROC TIMESERIES 可以处理时间序列数据,进行趋势分析、季节性调整等,这对于...
在表格布局中,可以使用PROC REPORT过程来实现各种类型表格的输出。布局选项可应用于报告的不同位置,最常用于页眉、列、行或完整的报告。 本文还介绍了使用ODS ESCAPECHAR语句来调用字段函数和其他RTF元素。...
- 利用第四代语言应用开发工具如 SQL*Forms、SQL*Reportwriter 等。 - 在第三代语言中嵌入 SQL 语句或调用 Oracle 库函数。 - **Pro*C 的特点**: - 结合了 C 语言的过程控制能力和 SQL 的数据操作能力。 - ...
* 纵向连接:使用 PROC REPORT 语句可以对数据进行纵向连接,生成报表。 * 横向合并:使用 PROC REPORT 语句可以对数据进行横向合并,生成报表。 * 两样本均数的比较:使用 PROC TTEST 语句可以对两样本均数进行比较...
8. **报表生成**:使用ODS输出系统创建报告,掌握PROC PRINT和PROC REPORT的使用,以及如何自定义样式和布局。 9. **机经**:"机经"通常指的是过往考试的真实题目,通过这些题目,考生可以了解考试的题型、难度和...
对于报告生成,PROC REPORT和ODS(Output Delivery System)是常用工具,它们能将分析结果以清晰、格式化的报告形式呈现。 在学习过程中,初学者应注重理论与实践的结合,理解每个过程背后统计学原理,同时通过配套...
`PROC REPORT`和`PROC PRINT`用于定制化输出。 六、高级应用 1. 时间序列分析:`PROC ARIMA`和`PROC Forecast`处理时间序列数据。 2. 数据挖掘:SAS Enterprise Miner提供图形化的数据挖掘流程。 3. 预测建模:`...
- 报告编写过程:包括输出报告的各种过程,例如PROC PRINT,PROC REPORT,PROC TABULATE等。 - 统计过程:用于执行数据分析和统计计算的过程,如PROC MEANS,PROC UNIVARIATE,PROC ANOVA等。 - 实用工具过程:...
这篇报告主要介绍了四个Linux内核模块的编写,它们分别涉及到内核模块的基础操作、参数传递、/proc文件系统以及文件目录的创建。以下是这些模块的详细说明: 1. **模块一**: 这个模块实现了内核模块加载(`insmod`...
SAS可以生成各种类型的报告和图表,如PROC PRINT用于数据的表格化输出,PROC GPLOT和PROC SGPLOT用于绘制统计图,PROC REPORT用于创建复杂的报表布局。 8. **数据管理和转换** SAS提供了强大的数据管理功能,如...
当需要生成复杂的表格和图形报告时,则可以考虑使用PROC REPORT或PROC PRINT。 #### 结论 Base SAS 9.2 过程指南是学习和掌握SAS软件中Base SAS组件的关键资源。它不仅包含了丰富的示例和实践指导,而且还深入浅出...
- **PROC REPORT和PROC TABULATE**:提供了更丰富的数据呈现方式。 - **数据导出**:支持将SAS数据集导出到其他格式文件中。 - **冒号修饰符**:增强informats的功能,提高数据读取的灵活性。 #### 二、基础SAS概念...
书中会展示如何使用ODS(Output Delivery System)来定制和控制输出格式,以及如何利用PROC PRINT和PROC REPORT创建专业级别的报告。此外,SAS的图形生成能力也非常强大,包括散点图、直方图、箱线图等多种图表,将...
5. **报告和图形**:PROC GPLOT和PROC SG procedures可以生成高质量的图表,PROC REPORT用于创建详细的报告布局。 6. **数据导入导出**:SAS能与多种数据源交互,如Excel(PROC IMPORT/EXPORT),CSV(PROC ...