Understanding and Customizing SAS Output: The Basics |
Output from Procedures |
When you invoke a SAS procedure, SAS analyzes or processes your data. You can read a SAS data set, compute statistics, print results, or create a new data set. One of the results of executing a SAS procedure is creating procedure output. The destination of procedure output varies with the method of running SAS, the operating environment, and the options that you use. The form and content of the output varies with each procedure. Some procedures, such as the SORT procedure, do not produce printed output.
SAS has numerous procedures that you can use to process your data. For example, you can use the PRINT procedure to print a report that lists the values of each variable in your SAS data set. You can use the MEANS procedure to compute descriptive statistics for variables across all observations and within groups of observations. You can use the UNIVARIATE procedure to produce information on the distribution of numeric variables. For a graphic representation of your data, you can use the CHART procedure. Many other procedures are available through SAS.
Output from DATA Step Applications |
Although output is usually generated by a procedure, you can also generate output by using a DATA step application. Using the DATA step, you can do the following:
To generate output, you can use the FILE and PUT statements together within the DATA step. Use the FILE statement to identify your current output file. Then use the PUT statement to write lines that contain variable values or text strings to the output file. You can write the values in column, list, or formatted style.
You can use the FILE and PUT statements to target a subset of data. If you have a large data set that includes unnecessary information, this kind of DATA step processing can save time and computer resources. Write your code so that the FILE statement executes before a PUT statement in the current execution of a DATA step. Otherwise, your data will be written to the SAS log.
If you have a SAS data set, you can use the FILE and PUT statements to create an external file that another computer language can process. For example, you can create a SAS data set that lists the test scores for high school students. You can then use this file as input to a FORTRAN program that analyzes test scores. The following table lists the variables and the column positions that an existing FORTRAN program expects to find in the input SAS data set:
Variable | Column location |
---|---|
YEAR | 10-13 |
TEST | 15-25 |
GENDER | 30 |
SCORE | 35-37 |
You can use the FILE and PUT statements in the DATA step to create the data set that the FORTRAN program reads:
data _null_; set out.sats1; file 'your-output-file'; put @10 year @15 test @30 gender @35 score; run;
Output from the Output Delivery System (ODS) |
Beginning with Version 7, procedure output is much more flexible because of the Output Delivery System (ODS). 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. When you send these objects to any or all ODS destinations, your output is formatted according to the instructions in the table definition. ODS destinations can produce an output data set, traditional monospace output, output that is formatted for a high-resolution printer, output that is formatted in HyperText Markup Language (HTML), and so on.
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 by creating your own definitions.
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, 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; then 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 the DATA step and to all procedures that support ODS.
For more information and examples, see Understanding and Customizing SAS Output: The Output Delivery System (ODS).
Copyright © 2012 by SAS Institute Inc., Cary, NC, USA. All rights reserved.