Previous Page | Next Page

The REPORT Procedure

Overview: REPORT Procedure


What Does the REPORT Procedure Do?

The REPORT procedure combines features of the PRINT, MEANS, and TABULATE procedures with features of the DATA step in a single report-writing tool that can produce a variety of reports. You can use PROC REPORT in three ways:

This documentation provides reference information about using PROC REPORT in a windowing or nonwindowing environment. For task-oriented documentation for the nonwindowing environment, see SAS Technical Report P-258, Using the REPORT Procedure in a Nonwindowing Environment, Release 6.07.


What Types of Reports Can PROC REPORT Produce?

A detail report contains one row for every observation selected for the report. Each of these rows is a report row, a detail report row. A summary report consolidates data so that each row represents multiple observations. Each of these rows is also called a detail row, a summary report row.

Both detail and summary reports can contain summary report lines(break lines) as well as report rows. A summary line summarizes numerical data for a set of detail rows or for all detail rows. PROC REPORT provides both default and customized summaries. (See Using Break Lines.)

This overview illustrates the types of reports that PROC REPORT can produce. The statements that create the data sets and formats used in these reports are in Selecting Variables for a Report. The formats are stored in a permanent SAS library. See Examples: REPORT Procedure for more reports and for the statements that create them.


What Do the Various Types of Reports Look Like?

The data set that these reports use contains one day's sales figures for eight stores in a chain of grocery stores.

A simple PROC REPORT step produces a report similar to one produced by a simple PROC PRINT step. Simple Detail Report with a Detail Row for Each Observation illustrates the simplest type of report that you can produce with PROC REPORT. The statements that produce the report follow. The data set and formats that the program uses are created in Selecting Variables for a Report. Although the WHERE and FORMAT statements are not essential, here they limit the amount of output and make the values easier to understand.

libname proclib 'SAS-library';

options nodate pageno=1 linesize=64 pagesize=60
        fmtsearch=(proclib);

proc report data=grocery nowd;
   where sector='se';
   format sector $sctrfmt. manager $mgrfmt.
          dept $deptfmt. sales dollar10.2;
run;

Simple Detail Report with a Detail Row for Each Observation

[Simple Detail Report with a Detail Row for Each Observation]

The report in the following figure uses the same observations as the above figure. However, the statements that produce this report

For an explanation of the program that produces this report, see Ordering the Rows in a Report.

Ordered Detail Report with Default and Customized Summaries

[Ordered Detail Report with Default and Customized Summaries]

The summary report in the following figure contains one row for each store in the northern sector. Each detail row represents four observations in the input data set, one observation for each department. Information about individual departments does not appear in this report. Instead, the value of Sales in each detail row is the sum of the values of Sales in all four departments. In addition to consolidating multiple observations into one row of the report, the statements that create this report

For an explanation of the program that produces this report, see Consolidating Multiple Observations into One Row of a Report.

Summary Report with Default and Customized Summaries

[Summary Report with Default and Customized Summaries]

The summary report in the following figure is similar to the above figure. The major difference is that it also includes information for individual departments. Each selected value of Department forms a column in the report. In addition, the statements that create this report

For an explanation of the program that produces this report, see Creating a Column for Each Value of a Variable.

Summary Report with a Column for Each Value of a Variable

[Summary Report with a Column for Each Value of a Variable]

The customized report in the following figure shows each manager's store on a separate page. Only the first two pages appear here. The statements that create this report create

For an explanation of the program that produces this report, see Writing a Customized Summary on Each Page.

Customized Summary Report

[Customized Summary Report]

The report in the following figure uses customized style elements to control things like font faces, font sizes, and justification, as well as the width of the border of the table and the width of the spacing between cells. This report was created by using the HTML destination of the Output Delivery System (ODS) and the STYLE= option in several statements in the procedure.

For an explanation of the program that produces this report, see Specifying Style Elements for ODS Output in Multiple Statements. For information about ODS, see Output Delivery System.

HTML Output

[HTML Output]

Previous Page | Next Page | Top of Page