|The Complete Guide to the SAS Output Delivery System
Prior to Version 7, SAS procedures that produced printed
output (that is, output destined for the procedure output file) generated
output that was designed for a traditional line-printer. This type of output
has limitations that prevent users from getting the most value from their
- Traditional SAS output is limited to monospace
fonts. In this day of desktop document editors and publishing systems, users
want more versatility in printed output.
- Traditional SAS output provides no way for you
to parse its contents. You can't, for example, know in advance in what column
the values for the third variable in a report begin.
- Quite a few commonly used procedures did not produce
output data sets. Users who wanted to use output from one of these procedures
as input to another procedure relied on PROC PRINTTO and the DATA step to
retrieve results that could not be stored in an output data set.
Beginning with Version 7, procedure output became much
more flexible. The Output Delivery System (ODS) has been designed to overcome
the limitations of traditional SAS output and to make it easy to make new
formatting options available to users. ODS is a method of delivering output
in a variety of formats and of making the formatted output easy to access.
Important features of ODS include the following:
- ODS combines raw data with one or more table definitions
to produce one or more output objects. These objects can be sent to any or
all ODS destinations. The currently available ODS destinations can produce
an output data set, traditional monospace output, output that is formatted
for a high-resolution printer, and output that is formatted in Hypertext Markup
- ODS provides table definitions that define the
structure of the output from procedures and from the DATA step. You can customize
the output by modifying these definitions or creating your own.
- ODS provides a way for you to choose individual
output objects to send to ODS destinations. For instance, PROC UNIVARIATE
produces five output objects. You can easily create HTML output, an output
data set, traditional Listing output, or Printer output from any or all of
these output objects. You can send different output objects to different destinations.
- ODS stores a link to each output object in the
Results folder in the Results window.
In addition, ODS removes responsibility for formatting
output from individual procedures and from the DATA step. The procedure or
DATA step supplies raw data and the name of the table definition that contains
the formatting instructions, and ODS formats the output. Because formatting
is now centralized in ODS, the addition of a new ODS destination does not
affect any procedures or the DATA step. As future destinations are added
to ODS, they will automatically become available to all procedures that support
ODS and to the DATA step.
This document provides several different kinds of information
- This section shows you how to accomplish some
of the basic tasks that you are most likely to want to do with the Output
Delivery System: how to send procedure results to each of the ODS destinations
and how to customize the appearance of procedure output. More detailed information
and examples appear in the reference sections of this document.
- Basic Concepts of the Output Delivery System
discusses the concepts that will help you to understand and to use ODS to
your best advantage.
- The ODS Statements
provides reference information on the ODS statements. These statements control
the many features of the Output Delivery System.
- Using the Output Delivery System in the DATA Step
explains how to use ODS with the DATA step.
- The TEMPLATE Procedure
explains how to customize your output.
Copyright 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.