Overview of How ODS Works

Components of SAS Output

The PROC or DATA step supplies raw data and the name of the table template that contains the formatting instructions. ODS formats the output. You can use ODS to format output from individual procedures and from the DATA step in many different forms other than HTML output.
The following figure shows how SAS produces ODS output.
ODS Processing: What Goes in and What Comes Out
ODS Processing: What Goes in and What Comes Out
* List of Tagsets That SAS Supplies and Supports
CHTML
CSV
CSVALL
CSVBYLINE
DEFAULT
DOCBOOK
EXCELXP
HTML4
HTMLCSS
HTMLPANEL
IMODE
MSOFFICE2K
PHTML
PYX
RTF
SASREPORT
WML
WMLOLIST
XHTML
* Additional Diagnostic Tagsets That SAS Supports
EVENT_MAP
NAMEDHTML
SHORT_MAP
STYLE_DISPLAY
STYLE_POPUP
TEXT_MAP
TPL_STYLE_LIST
TPL_SYLE_MAP
Note: There are also preproduction tagsets. These tagsets can be found at http://support.sas.com and are not yet supported by SAS.

Features of ODS

ODS is designed to overcome the limitations of traditional SAS output and to make it easy to access and create the new formatting options. ODS provides a method of delivering output in a variety of formats, and makes the formatted output easy to access.
Important features of ODS include the following:
  • ODS combines raw data with one or more table templates to produce one or more output objects. These objects can be sent to any or all ODS destinations. You control the specific type of output from ODS by selecting an ODS destination. The currently available ODS destinations can produce the following types of output:
    • traditional monospace output
    • an output data set
    • an ODS document that contains a hierarchy file of the output objects
    • output that is formatted for a high-resolution printer such as PostScript and PDF
    • output that is formatted in various markup languages such as HTML
    • RTF output that is formatted for use with Microsoft Word
  • ODS provides table templates that define the structure of the output from SAS procedures and from the DATA step. You can customize the output by modifying these templates, or by creating your own.
  • ODS provides a way for you to choose individual output objects to send to ODS destinations. For example, PROC UNIVARIATE produces five output objects. You can easily create HTML output, an output data set, LISTING output, or printer output from any or all of these output objects. You can send different output objects to different destinations.
  • In the SAS windowing environment, ODS stores a link to each output object in the Results folder in the Results window.
  • 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 the DATA step and all procedures that support ODS.
  • With ODS, you can produce output for numerous destinations from a single source, but you do not need to maintain separate sources for each destination. This feature saves you time and system resources by enabling you to produce multiple types of output with a single run of your procedure or data query.