PROC REPORT
Tim Hunter, SAS Institute Inc.
Copyright 2006, SAS Institute Inc. All rights reserved.
Intro
PROC REPORT Basics
ODS and PROC REPORT
New in PROC REPORT for 9.2
Questions?
Copyright 2006, SAS Institute Inc. All rights reserved.
Copyright 2006, SAS Institute Inc. All rights reserved.
title "Basic PROC REPORT Report";
proc report data=sashelp.class;
run;
Copyright 2006, SAS Institute Inc. All rights reserved.
The COLUMN statement
Specifies the column order
Defines spanning headers
proc report data=sashelp.class;
column ('data=sashelp.class' sex age name
('Measurements' height weight));
run;
Copyright 2006, SAS Institute Inc. All rights reserved.
The DEFINE statement
Usually one for each column in the report
Controls the appearance of the column
Specifies how a variable is used in the report
proc report data=sashelp.class;
column column1 column2 column3 ;
define column1 / options;
define column2 / options;
Copyright 2006, SAS Institute Inc. All rights reserved.
Variable usage
DISPLAY the default
ORDER sort the rows
GROUP consolidate observations into groups
ANALYSIS calculate a statistic
COMPUTED computed by PROC REPORT
ACROSS class variables in the column
dimension
Copyright 2006, SAS Institute Inc. All rights reserved.
ORDER Variables
Order the rows
proc report data=class;
column sex age name
('Measurements' height weight);
define sex--age / order;
define name--weight / display;
run;
Copyright 2006, SAS Institute Inc. All rights reserved.
GROUP Variables
Consolidate multiple observations
proc report data=sashelp.class;
column age sex n;
define age / group;
define sex / group;
define N / 'N' format=2.;
run;
Copyright 2006, SAS Institute Inc. All rights reserved.
ANALYSIS Variables
Calculate a statistic for the group of observations
represented by a cell in the report
proc report data=sashelp.class;
column age sex n height weight;
define sex / group;
define age / group;
define n / 'N' format=2.;
define height / analysis mean 'Mean Weight' format=6.1;
define weight / analysis mean 'Mean Height' format=6.2;
run;
Copyright 2006, SAS Institute Inc. All rights reserved.
Copyright 2006, SAS Institute Inc. All rights reserved.
ACROSS Variables
A column for each value of
the variable
proc report data=sashelp.class;
column age N sex,weight,Mean;
define age / group;
define N / 'Count';
define sex / across;
define weight / analysis;
run;
Copyright 2006, SAS Institute Inc. All rights reserved.
The BREAK Statement
Introduces a summary row
Associated with a location in the report
proc report data=sashelp.class;
column sex age height weight;
define sex / order;
break after sex / summarize page;
run;
Copyright 2006, SAS Institute Inc. All rights reserved.
Copyright 2006, SAS Institute Inc. All rights reserved.
The COMPUTE Statement
Denotes a group of statements that PROC
REPORT executes as it builds the report.
Computes the value of a variable
Inserts custom text
Adds ODS style attributes or hyperlinks
Copyright 2006, SAS Institute Inc. All rights reserved.
COMPUTED Variables
define height--weight / display noprint;
define mheight / computed format=6.2 'Height (cm)';
define mweight / computed format=5.2 'Weight (kg)';
compute mheight;
mheight = height * 2.54;
endcomp;
compute mweight;
mweight = weight * 0.4536;
endcomp;
Copyright 2006, SAS Institute Inc. All rights reserved.
Copyright 2006, SAS Institute Inc. All rights reserved.
LINE statement, DEFINE routine
compute before age / style={background=#bcd3ab};
agew = propcase(trim(put(age, words.)));
line agew $8. ' year olds';
endcomp;
compute name;
if sex = 'F' then
call define(_col_, 'url', 'http://test.com/results/girls/' || trim(name) || '.html' );
else
call define(_col_, 'url', 'http://test.com/results/boys/' || trim(name) || '.html' );
endcomp;
Copyright 2006, SAS Institute Inc. All rights reserved.
Copyright 2006, SAS Institute Inc. All rights reserved.
ODS and PROC REPORT
Monospace vs. markup
STYLE options
Other forms of output
Copyright 2006, SAS Institute Inc. All rights reserved.
Copyright 2006, SAS Institute Inc. All rights reserved.
"","Sex",,,
"","Sex",,,
"","Female",,"Male",
"","Female",,"Male",
"","Weight",,"Weight",
"","Weight",,"Weight",
"Age","Count","Mean","Count","Mean"
"Age","Count","Mean","Count","Mean"
11,1,50.5,1,85
11,1,50.5,1,85
12,2,80.75,3,103.5
12,2,80.75,3,103.5
13,2,91,1,84
13,2,91,1,84
14,2,96.25,2,107.5
14,2,96.25,2,107.5
15,2,112.25,2,122.5
15,2,112.25,2,122.5
16,".",".",1,150
16,".",".",1,150
Copyright 2006, SAS Institute Inc. All rights reserved.
STYLE= option
Customizes fonts, colors, image, etc.
Can customize the entire report, just the
headers, individual columns, individual rows
Can also customize LINE statement output,
summary lines
Copyright 2006, SAS Institute Inc. All rights reserved.
Alternating background colors
compute name;
bg + 1;
if mod(bg, 2) = 1 then
call define(_row_, "style", "style={background=white}");
else
call define(_row_, "style", "style={background=#d1e9d1}");
endcomp;
Copyright 2006, SAS Institute Inc. All rights reserved.
Copyright 2006, SAS Institute Inc. All rights reserved.
Whats new in 9.2?
New ODS destinations
SPANROWS option
New table of contents
Copyright 2006, SAS Institute Inc. All rights reserved.
Copyright 2006, SAS Institute Inc. All rights reserved.
SPANROWS Option
Copyright 2006, SAS Institute Inc. All rights reserved.
SPANROWS Option
Copyright 2006, SAS Institute Inc. All rights reserved.
Better Table of Contents
Copyright 2006, SAS Institute Inc. All rights reserved.
Copyright 2006, SAS Institute Inc. All rights reserved.
Where to go for more
SAS OnlineDoc
http://support.sas.com/documentation/onlinedoc/
sas9doc.html
Carpenter's Complete Guide to the SAS REPORT
Procedure, Art Carpenter, at the SAS Bookstore
http://www.sas.com/apps/pubscat/welcome.jsp
ODS is part of the Base SAS community
http://support.sas.com/rnd/base/index-ods-resources.html
Output Delivery System: The Basics, Lauren Hayworth,
also at the SAS Bookstore
Copyright 2006, SAS Institute Inc. All rights reserved.
Copyright 2006, SAS Institute Inc. All rights reserved.