REPORT Procedure

PROC REPORT Statement

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.
Selecting Variables for a Report

Ordering the Rows in a Report

Creating a Column for Each Value of a Variable

Displaying Multiple Statistics for One Variable

Storing and Reusing a Report Definition

Condensing a Report into Multiple Panels

How PROC REPORT Handles Missing Values

Creating and Processing an Output Data Set

Storing Computed Variables as Part of a Data Set

Specifying Style Elements for ODS Output in the PROC REPORT Statement

Specifying Style Elements for ODS Output in Multiple Statements

Using the WIDTH= and CELLWIDTH= Style Attributes with PROC REPORT

Syntax

PROC REPORT <option(s)>;

Summary of Optional Arguments

specifies the input data set.
uses a report that was created before compute blocks required aliases (prior to Release 6.11).
See CENTER | NOCENTER.
See COMPLETECOLS | NOCOMPLETECOLS.
See COMPLETEROWS | NOCOMPLETEROWS.
See THREADS | NOTHREADS.
See WINDOWS | NOWINDOWS.
specifies the output data set.
See QNTLDEF=.
overrides the SAS system option THREADS | NOTHREADS.
selects the interactive report window or the nonwindowing environment.
Control classification levels
creates all possible combinations of the across variable values.
creates all possible combinations of the group variable values.
Control ODS output
specifies text for the HTML or PDF table of contents entry for the output.
specifies that a single cell will occupy the column in all the rows for which the value is the same. Only applies to ODS MARKUP, PDF, RTF, and PRINTER destinations.
specifies one or more style elements (for the Output Delivery System) to use for different parts of the report.
Control the interactive report window environment
displays command lines rather than menu bars in all REPORT windows.
identifies the library and catalog containing user-defined help for the report.
opens the REPORT window and starts the PROMPT facility.
Control the layout of the report
uses formatting characters to add line-drawing characters to the report.
resets the page number between BY groups.
specifies whether to center or left-justify the report and summary text.
specifies the default number of characters for columns containing computed variables or numeric data set variables.
defines the characters to use as line-drawing characters in the report.
specifies the length of a line of the report.
considers missing values as valid values for group, order, or across variables.
specifies the number of panels on each page of the report.
specifies the number of lines in a page of the report. Use for monospace output only.
specifies the number of blank characters between panels.
overrides options in the DEFINE statement that suppress the display of a column.
specifies the number of blank characters between columns.
displays one value from each column of the report, on consecutive lines if necessary, before displaying another value from the first column.
Control the statistical analysis
excludes observations with nonpositive weight values from the analysis.
specifies the sample size to use for the P2 quantile estimation method.
specifies the quantile estimation method.
specifies the mathematical definition to calculate quantiles.
specifies the divisor to use in the calculation of variances.
Customize column headings
underlines all column headings and the spaces between them.
writes a blank line beneath all column headings.
writes name= in front of each value in the report, where name= is the column heading for the value.
suppresses column headings.
specifies the split character.
Store and retrieve report definitions, PROC REPORT statements, and your report profile
writes to the SAS log the PROC REPORT code that creates the current report.
suppresses the building of the report.
stores in the specified catalog the report definition that is defined by the PROC REPORT step that you submit.
identifies the report profile to use.
specifies the report definition to use.

Optional Arguments

BOX
uses formatting characters to add line-drawing characters to the report. These characters
  • surround each page of the report
  • separate column headings from the body of the report
  • separate rows and columns from each other
  • separate values in a summary line from other values in the same columns
  • separate a customized summary from the rest of the report
Restriction:This option has no effect on ODS destinations other than traditional SAS monospace output.
Interaction:You cannot use BOX if you use WRAP in the PROC REPORT statement or in the ROPTIONS window or if you use FLOW in any item definition.
BYPAGENO=number
If a BY statement is present, specifies the page number at the start of each BY group.
Range:any positive integer greater than 0.
Restriction:This option has no effect if a BY statement is not present.
Interaction:The BYPAGENO= option also affects the ODS ESCAPECHAR THISPAGE function.
CENTER | NOCENTER
specifies whether to center or left-justify the report and summary text (customized break lines).
PROC REPORT honors the first of these centering specifications that it finds:
  • the CENTER or NOCENTER option in the PROC REPORT statement or the CENTER toggle in the ROPTIONS window
  • the CENTER or NOCENTER option stored in the report definition that is loaded with REPORT= in the PROC REPORT statement
  • the SAS system option CENTER or NOCENTER
Interaction:When CENTER is in effect, PROC REPORT ignores spacing that precedes the leftmost variable in the report.
COLWIDTH=column-width
specifies the default number of characters for columns containing computed variables or numeric data set variables.
When setting the width for a column, PROC REPORT first looks at WIDTH= in the definition for that column. If WIDTH= is not present, then PROC REPORT uses a column width large enough to accommodate the format for the item. If no format is associated with the item, then the column width depends on variable types as shown in the following table.
Using References in a Compute Block
Variable
Resulting Column Width
Character variable in the input data set
Length of the variable
Numeric variable in the input data set
Value of the COLWIDTH= option
Computed variable (numeric or character)
Value of the COLWIDTH= option
For information about formats, see the discussion of FORMAT=format.
Default:9
Range:1 to the line size
Restriction:This option has no effect on ODS destinations other than traditional SAS monospace output. For ODS destinations, use the STYLE= option with the WIDTH=, CELLWIDTH=, or OUTPUTWIDTH = style attributes. Refer to Style Attributes Tables in SAS Output Delivery System: User's Guide for details. See how style attributes WIDTH= and CELLWIDTH= can be used with PROC REPORT in Using the WIDTH= and CELLWIDTH= Style Attributes with PROC REPORT.
COMMAND
displays command lines rather than menu bars in all REPORT windows.
After you have started PROC REPORT in the interactive report window environment, you can display the menu bars in the current window by issuing the COMMAND command. You can display the menu bars in all PROC REPORT windows by issuing the PMENU command. The PMENU command affects all the windows in your SAS session. Both of these commands are toggles.
You can store a setting of COMMAND in your report profile. PROC REPORT honors the first of these settings that it finds:
  • the COMMAND option in the PROC REPORT statement
  • the setting in your report profile
Restriction:This option has no effect in the nonwindowing environment.
COMPLETECOLS | NOCOMPLETECOLS
creates all possible combinations for the values of the across variables even if one or more of the combinations do not occur within the input data set. Consequently, the column headings are the same for all logical pages of the report within a single BY group.
Default:COMPLETECOLS
Interaction:The PRELOADFMT option in the DEFINE statement ensures that PROC REPORT uses all user-defined format ranges for the combinations of across variables, even when a frequency is zero.
COMPLETEROWS | NOCOMPLETEROWS
displays all possible combinations of the values of the group variables, even if one or more of the combinations do not occur in the input data set. Consequently, the row headings are the same for all logical pages of the report within a single BY group.
Default:NOCOMPLETEROWS
Interaction:The PRELOADFMT option in the DEFINE statement ensures that PROC REPORT uses all user-defined format ranges for the combinations of group variables, even when a frequency is zero.
CONTENTS='link-text'
specifies the text for the entries in the HTML contents file or PDF table of contents for the output that is produced by PROC REPORT. For information about HTML and PDF output, see Output Delivery System.
Restriction:For HTML output, the CONTENTS= option has no effect in the HTML body file. It affects only the HTML contents file.
Interaction:For RTF output, the CONTENTS= option has no effect on the RTF body file unless you turn on the CONTENTS=YES option in the ODS RTF statement. In that case, a Table of Contents page is inserted at the front of your RTF output file. Your CONTENTS= option text from PROC REPORT will then show up in this separate Table of Contents page.
DATA=SAS-data-set
specifies the input data set.
EXCLNPWGT
excludes observations with nonpositive weight values (zero or negative) from the analysis. By default, PROC REPORT treats observations with negative weights like observations with zero weights and counts them in the total number of observations.
Alias:EXCLNPWGTS
Requirement:You must use a WEIGHT statement.
FORMCHAR <(position(s))>='formatting-character(s)'
defines the characters to use as line-drawing characters in the report.
position(s)
identifies the position of one or more characters in the SAS formatting-character string. A space or a comma separates the positions.
Default:Omitting (position(s)) is the same as specifying all 20 possible SAS formatting characters, in order.
Note:PROC REPORT uses 12 of the 20 formatting characters that SAS provides. Formatting Characters Used by PROC REPORT shows the formatting characters that PROC REPORT uses. Formatting Characters in PROC REPORT Output illustrates the use of some commonly used formatting character in the output from PROC REPORT.
formatting-character(s)
lists the characters to use for the specified positions. PROC REPORT assigns characters in formatting-character(s) to position(s), in the order in which they are listed. For example, the following option assigns the asterisk (*) to the third formatting character, the pound sign (#) to the seventh character, and does not alter the remaining characters: formchar(3,7)='*#'
Formatting Characters Used by PROC REPORT
Position
Default
Used to Draw
1
|
Right and left borders and the vertical separators between columns
2
-
Top and bottom borders and the horizontal separators between rows; also underlining and overlining in break lines as well as the underlining that the HEADLINE option draws
3
-
Top character in the left border
4
-
Top character in a line of characters that separates columns
5
-
Top character in the right border
6
|
Leftmost character in a row of horizontal separators
7
+
Intersection of a column of vertical characters and a row of horizontal characters
8
|
Rightmost character in a row of horizontal separators
9
-
Bottom character in the left border
10
-
Bottom character in a line of characters that separate columns
11
-
Bottom character in the right border
13
=
Double overlining and double underlining in break lines
Formatting Characters in PROC REPORT Output
Formatting Characters in PROC REPORT Output
Restriction:This option has no effect on ODS destinations other than traditional SAS monospace output.
Interaction:The SAS system option FORMCHAR= specifies the default formatting characters. The system option defines the entire string of formatting characters. The FORMCHAR= option in a procedure can redefine selected characters.
Tip:You can use any character in formatting-characters, including hexadecimal characters. If you use hexadecimal characters, then you must put x after the closing quotation mark. For example, the following option assigns the hexadecimal character 2D to the third formatting character, the hexadecimal character 7C to the seventh character, and does not alter the remaining characters: formchar(3,7)='2D7C'x
HEADLINE
underlines all column headings and the spaces between them at the top of each page of the report.
The HEADLINE option underlines with the second formatting character. (See the discussion of FORMCHAR <(position(s))>='formatting-character(s)' .)
Default:hyphen (-)
Restriction:This option has no effect on ODS destinations other than traditional SAS monospace output.
Tip:In traditional (monospace) SAS output, you can underline column headings without underlining the spaces between them, by using two hyphens ('--') as the last line of each column heading instead of using HEADLINE.
HEADSKIP
writes a blank line beneath all column headings (or beneath the underlining that the HEADLINE option writes) at the top of each page of the report.
Restriction:This option has no effect on ODS destinations other than traditional SAS monospace output.
HELP=libref.catalog
identifies the library and catalog containing user-defined help for the report. This help can be in CBT or HELP catalog entries. You can write a CBT or HELP entry for each item in the report with the BUILD procedure in SAS/AF software. Store all such entries for a report in the same catalog.
Specify the entry name for help for a particular report item in the DEFINITION window for that report item or in a DEFINE statement.
Restriction:This option only works in the Report Window.
LIST
writes to the SAS log the PROC REPORT code that creates the current report. This listing might differ in these ways from the statements that you submit:
  • It shows some defaults that you might not have specified.
  • It omits some statements that are not specific to the REPORT procedure, whether you submit them with the PROC REPORT step or had previously submitted them. These statements include
    BY FOOTNOTE FREQ TITLE WEIGHT WHERE
  • It omits these PROC REPORT statement options:
    LIST
    OUT=
    OUTREPT=
    PROFILE=
    REPORT=
    WINDOWS|NOWINDOWS
  • It omits SAS system options.
  • It resolves automatic macro variables.
Restriction:This option has no effect in the interactive report window environment. In the interactive report window environment, you can write the report definition for the report that is currently in the REPORT window to the SOURCE window by selecting Tools, Report, Statements.
LS=line-size
specifies the length of a line of the report.
PROC REPORT honors the line size specifications that it finds in the following order of precedence:
  • the LS= option in the PROC REPORT statement or LINESIZE= in the ROPTIONS window
  • the LS= setting stored in the report definition loaded with REPORT= in the PROC REPORT statement
  • the SAS system option LINESIZE=
Note: The PROC REPORT LS= option takes precedence over all other line size options.
Range:64-256 (integer)
Restriction:This option has no effect on ODS destinations other than traditional SAS monospace output.
MISSING
considers missing values as valid values for group, order, or across variables. Special missing values used to represent numeric values (the letters A through Z and the underscore (_) character) are each considered as a different value. A group for each missing value appears in the report. If you omit the MISSING option, then PROC REPORT does not include observations with a missing value for any group, order, or across variables in the report.
See:The missing valuesMissing Values in SAS Language Reference: Concepts section in SAS Language Reference: Concepts.
NAMED
writes name= in front of each value in the report, where name is the column heading for the value.
Interaction:When you use the NAMED option, PROC REPORT automatically uses the NOHEADER option.
Tip:Use NAMED in conjunction with the WRAP option to produce a report that wraps all columns for a single row of the report onto consecutive lines rather than placing columns of a wide report on separate pages.
NOALIAS
lets you use a report that was created before compute blocks required aliases (prior to Release 6.11). If you use NOALIAS, then you cannot use aliases in compute blocks.
NOCENTER
See CENTER | NOCENTER .
NOCOMPLETECOLS
See COMPLETECOLS | NOCOMPLETECOLS.
NOCOMPLETEROWS
See COMPLETEROWS | NOCOMPLETEROWS.
NOEXEC
suppresses the building of the report. Use NOEXEC with OUTREPT= to store a report definition in a catalog entry. Use NOEXEC with LIST and REPORT= to display a listing of the specified report definition.
Alias:NOEXECUTE
NOHEADER
suppresses column headings, including headings that span multiple columns.
When you suppress the display of column headings in the interactive report window environment, you cannot select any report items.
NOTHREADS
See THREADS | NOTHREADS.
NOWINDOWS
See WINDOWS | NOWINDOWS .
Alias:NOWD
OUT=SAS-data-set
names the output data set. If this data set does not exist, then PROC REPORT creates it. The data set contains one observation for each report row and one observation for each unique summary line. If you use both customized and default summaries at the same place in the report, then the output data set contains only one observation because the two summaries differ only in how they present the data. Information about customization (underlining, color, text, and so on) is not data and is not saved in the output data set.
The output data set contains one variable for each column of the report. PROC REPORT tries to use the name of the report item as the name of the corresponding variable in the output data set. However, it cannot perform this substitution if a data set variable is under or over an across variable or if a data set variable appears multiple times in the COLUMN statement without aliases. In these cases, the name of the variable is based on the column number (_C1_, _C2_, and so on).
Output data set variables that are derived from input data set variables retain the formats of their counterparts in the input data set. PROC REPORT derives labels for these variables from the corresponding column headings in the report unless the only item defining the column is an across variable. In that case, the variables have no label. If multiple items are stacked in a column, then the labels of the corresponding output data set variables come from the analysis variable in the column.
The output data set also contains a character variable named _BREAK_. If an observation in the output data set derives from a detail row in the report, then the value of _BREAK_ is missing or blank. If the observation derives from a summary line, then the value of _BREAK_ is the name of the break variable that is associated with the summary line, or _RBREAK_. If the observation derives from a COMPUTE BEFORE _PAGE_ or COMPUTE AFTER _PAGE_ statement, then the value of _BREAK_ is _PAGE_. Note, however, that for COMPUTE BEFORE _PAGE_ and COMPUTE AFTER _PAGE_, the _PAGE_ value is written to the output data set only; it is not available as a value of the automatic variable _BREAK_ during execution of the procedure.
Tip:An output data set can be created by using an ODS OUTPUT statement. The data set created by ODS OUTPUT is the same as the one created by the OUT= option. Refer to the ODS OUTPUT Statement in SAS Output Delivery System: User's Guide.
OUTREPT=libref.catalog.entry
stores in the specified catalog entry the REPORT definition that is defined by the PROC REPORT step that you submit. PROC REPORT assigns the entry a type of REPT.
The stored report definition might differ in these ways from the statements that you submit:
  • It omits some statements that are not specific to the REPORT procedure, whether you submit them with the PROC REPORT step or whether they are already in effect when you submit the step. These statements include
    BY TITLE
    FOOTNOTE WEIGHT
    FREQ WHERE
  • It omits these PROC REPORT statement options:
    LIST PROFILE=
    NOALIAS REPORT=
    OUT= WINDOWS|NOWINDOWS
    OUTREPT=
  • It omits SAS system options.
  • It resolves automatic macro variables.
Note: PROC REPORT version 7 and later cannot read entries created with SAS versions prior to Version 7.
PANELS=number-of-panels
specifies the number of panels on each page of the report. If the width of a report is less than half of the line size, then you can display the data in multiple sets of columns so that rows that would otherwise appear on multiple pages appear on the same page. Each set of columns is a panel. A familiar example of this type of report is a telephone book, which contains multiple panels of names and telephone numbers on a single page.
When PROC REPORT writes a multipanel report, it fills one panel before beginning the next.
The number of panels that fits on a page depends on the
  • width of the panel
  • space between panels
  • line size
Default:1
Note: This option has no effect on ODS destinations other than traditional SAS monospace output. However, the COLUMNS= option in the ODS PRINTER, ODS PDF, and ODS RTF statements produces similar results. For details, see the statements in SAS Output Delivery System: User's Guide.
Tip:If number-of-panels is larger than the number of panels that can fit on the page, then PROC REPORT creates as many panels as it can. Let PROC REPORT put your data in the maximum number of panels that can fit on the page by specifying a large number of panels (for example, 99).
See:For information about the space between panels and the line size, see the discussions of PSPACE= and the discussion of LS= .
PCTLDEF=
See QNTLDEF= .
PROFILE=libref.catalog
identifies the report profile to use. A profile
  • specifies the location of menus that define alternative menu bars and menus for the REPORT and COMPUTE windows
  • sets defaults for WINDOWS, PROMPT, and COMMAND
PROC REPORT uses the entry REPORT.PROFILE in the catalog that you specify as your profile. If no such entry exists, or if you do not specify a profile, then PROC REPORT uses the entry REPORT.PROFILE in SASUSER.PROFILE. If you have no profile, then PROC REPORT uses default menus and the default settings of the options.
You create a profile from the PROFILE window while using PROC REPORT in an interactive report window environment. To create a profile:
  • Invoke PROC REPORT with the WINDOWS option.
  • Select Toolsthen selectReport Profile
  • Fill in the fields to meet your needs.
  • Select OK to exit the PROFILE window. When you exit the window, PROC REPORT stores the profile in SASUSER.PROFILE.REPORT.PROFILE. Use the CATALOG procedure or the Explorer window to copy the profile to another location.
    Note: If, after opening the PROFILE window, you decide not to create a profile, then select CANCEL to close the window.
PROMPT
opens the REPORT window and starts the PROMPT facility. This facility guides you through creating a new report or adding more data set variables or statistics to an existing report.
If you start PROC REPORT with prompting, then the first window gives you a chance to limit the number of observations that are used during prompting. When you exit the prompter, PROC REPORT removes these limits:
  • the PROMPT option in the PROC REPORT statement
  • the setting in your report profile
If you omit PROMPT from the PROC REPORT statement, then the procedure uses the setting in your report profile, if you have one. If you do not have a report profile, then PROC REPORT does not use the prompt facility. For information about report profiles, see PROFILE.
Restriction:When you use the PROMPT option, you open the REPORT window. When the REPORT window is open, you cannot send procedure output to any ODS destination.
Tip:You can store a setting of PROMPT in your report profile. PROC REPORT honors the first of these settings that it finds:
PS=page-size
specifies the number of lines in a page of the report.
PROC REPORT honors the first of these page size specifications that it finds:
  • the PS= option in the PROC REPORT statement
  • the PS= setting in the report definition specified with REPORT= in the PROC REPORT statement
  • the SAS system option PAGESIZE=
Range:15-32,767 (integer)
Restriction:This option has no effect on ODS destinations other than traditional SAS monospace output.
PSPACE=space-between-panels
specifies the number of blank characters between panels. PROC REPORT separates all panels in the report by the same number of blank characters. For each panel, the sum of its width and the number of blank characters separating it from the panel to its left cannot exceed the line size.
Default:4
Restriction:This option has no effect on ODS destinations other than traditional SAS monospace output.
QMARKERS=number
specifies the default number of markers to use for the P2 estimation method. The number of markers controls the size of fixed memory space.
Default:The default value depends on which quantiles you request. For the median (P50), number is 7. For the quartiles (P25 and P75), number is 25. For the quantiles P1, P5, P10, P90, P95, or P99, number is 105. If you request several quantiles, then PROC REPORT uses the largest default value of number.
Range:any odd integer greater than 3
Tip:Increase the number of markers above the default settings to improve the accuracy of the estimates; you can reduce the number of markers to conserve computing resources.
QMETHOD=OS|P2
specifies the method that PROC REPORT uses to process the input data when it computes quantiles. If the number of observations is less than or equal to the value of the QMARKERS= option, and the value of the QNTLDEF= option is 5, then both methods produce the same results.
OS
uses order statistics. PROC UNIVARIATE uses this technique.
Note: This technique can be very memory intensive.
P2
uses the P2 method to approximate the quantile.
Default:OS
Restriction:When QMETHOD=P2, PROC REPORT will not compute MODE and weighted quantiles.
Tip:When QMETHOD=P2, reliable estimates of some quantiles (P1, P5, P95, P99) might not be possible for some data sets such as data sets with heavily tailed or skewed distributions.
QNTLDEF=1|2|3|4|5
specifies the mathematical definition that the procedure uses to calculate quantiles when the value of the QMETHOD= option is OS. When QMETHOD=P2, you must use QNTLDEF=5.
Alias:PCTLDEF=
Default:5
REPORT=libref.catalog.entry
specifies the report definition to use. PROC REPORT stores all report definitions as entries of type REPT in a SAS catalog.
Interaction:If you use REPORT=, then you cannot use the COLUMN statement.
SHOWALL
overrides options in the DEFINE statement that suppress the display of a column.
See:NOPRINT and NOZERO in DEFINE Statement
SPACING=space-between-columns
specifies the number of blank characters between columns. For each column, the sum of its width and the blank characters between it and the column to its left cannot exceed the line size.
Default:2
Restriction:This option has no effect on ODS destinations other than traditional SAS monospace output.
Interactions:PROC REPORT separates all columns in the report by the number of blank characters specified by SPACING= in the PROC REPORT statement unless you use SPACING= in the DEFINE statement to change the spacing to the left of a specific item.

When CENTER is in effect, PROC REPORT ignores spacing that precedes the leftmost variable in the report.

SPANROWS
specifies that when the value of a GROUP or ORDER column is the same in multiple rows, the value will be displayed in a single cell that occupies that column in all the rows for which the value is the same. A box is essentially created for that part of the column, and no rows appear in that box.
Restriction:This option is supported only for the ODS MARKUP, RTF, PRINTER, and HTML destinations. It has no effect on the Report Window, the listing, or the data set destinations.
Tips:The SPANROWS option also allows GROUP and ORDER variables values to repeat when the values break across pages in PDF, PS, and RTF destinations.

If a summary row appears in the middle of a set of rows that would otherwise be spanned by a single cell, the summary row introduces its own cell in that column. This action breaks the spanning cell into two cells even when the value of the GROUP or ORDER variable that comes after the summary row is unchanged.

In order to produce PROC REPORT output that is compliant with section 508, you need to specify the SPANROWS option in PROC REPORT and specify the HEADER_DATA_ASSOCIATIONS=yes OPTIONS option in the HTML statement. Section 508 is the accessibility standards for electronic information technology adopted by the U.S. Government under Section 508 of the U.S. Rehabilitation Act of 1973.

Here is example code: ods html file="sec508.html" options(header_data_associations="yes"); proc report data=energy headline headskip nowd spanrows;

SPLIT='character'
specifies the split character. PROC REPORT breaks a column heading when it reaches that character and continues the heading on the next line. The split character itself is not part of the column heading although each occurrence of the split character counts toward the 256-character maximum for a label.
Default:slash (/)
Restriction:This option has no effect on ODS destinations other than traditional SAS monospace output. However, in these ODS destinations, the SPLIT= option works in the column heading.
Interaction:The FLOW option in the DEFINE statement honors the split character.
STYLE<(location(s))>=<style-element-name><[style-attribute-specification(s)]>
specifies the style element to use for the specified locations in the report. See Using Style Elements in PROC REPORT for details.
Restriction:This option affects only the HTML, RTF, and Printer output.
Tip:FONT names that contain characters other than letters or underscores must be enclosed in quotation marks.
THREADS | NOTHREADS
enables or disables parallel processing of the input data set. This option overrides the SAS system option THREADS | NOTHREADS unless the system option is restricted. (See Restriction.) See Support for Parallel Processing in SAS Language Reference: Concepts for more information.
Default:value of SAS system option THREADS | NOTHREADS.
Restriction:Your site administrator can create a restricted options table. A restricted options table specifies SAS system option values that are established at start-up and cannot be overridden. If the THREADS | NOTHREADS system option is listed in the restricted options table, any attempt to set these system options is ignored and a warning message is written to the SAS log.
Interaction:PROC REPORT uses the value of the SAS system option THREADS except when a BY statement is specified or the value of the SAS system option CPUCOUNT is less than 2. You can specify the THREADS option in the PROC REPORT statement to force PROC REPORT to use parallel processing in these situations.
Note:When multi-threaded processing, also known as parallel processing, is in effect, observations might be returned in an unpredictable order. However, the observations are sorted correctly when a BY statement is specified.
VARDEF=divisor
specifies the divisor to use in the calculation of the variance and standard deviation. The following table shows the possible values for divisor and associated divisors.
Possible Values for VARDEF=
Value
Divisor
Formula for Divisor
DF
Degrees of freedom
n − 1
N
Number of observations
n
WDF
Sum of weights minus one
iwi) − 1
WEIGHT | WGT
Sum of weights
Σiwi
The procedure computes the variance as , where is the corrected sums of squares and equals . When you weight the analysis variables, equals , where is the weighted mean.
Default:DF
Requirement:To compute the standard error of the mean and Student's t-test, use the default value of VARDEF=.
Tips:When you use the WEIGHT statement and VARDEF=DF, the variance is an estimate of , where the variance of the ith observation is and is the weight for the ith observation. This yields an estimate of the variance of an observation with unit weight.

When you use the WEIGHT statement and VARDEF=WGT, the computed variance is asymptotically (for large n) an estimate of , where is the average weight. This yields an asymptotic estimate of the variance of an observation with average weight.

See:WEIGHT
WINDOWS | NOWINDOWS
selects an interactive report window or nonwindowing environment.
When you use WINDOWS, SAS opens the REPORT window for the interactive report interface, which enables you to modify a report repeatedly and to see the modifications immediately. When you use NOWINDOWS, PROC REPORT runs without the REPORT window and sends its output to the open output destinations.
Alias:WD|NOWD
Restriction:When you use the WINDOWS option, you can send the output only to a SAS data set or to a Printer destination.
Tip:You can store a setting of WINDOWS in your report profile, if you have one. If you do not specify WINDOWS or NOWINDOWS in the PROC REPORT statement, then the procedure uses the setting in your report profile. If you do not have a report profile, then PROC REPORT looks at the setting of the SAS system option DMS. If DMS is ON, then PROC REPORT uses the interactive report window environment. If DMS is OFF, then it uses the nonwindowing environment.
See:For a discussion of the report profile see the discussion of PROFILE= .
WRAP
displays one value from each column of the report, on consecutive lines if necessary, before displaying another value from the first column. By default, PROC REPORT displays values for only as many columns as it can fit on one page. It fills a page with values for these columns before starting to display values for the remaining columns on the next page.
Restriction:This option has no effect on ODS destinations other than traditional SAS monospace output.
Interaction:When WRAP is in effect, PROC REPORT ignores PAGE in any item definitions.
Tip:Typically, you use WRAP in conjunction with the NAMED option in order to avoid wrapping column headings.