PROC SURVEYFREQ uses the Output Delivery System (ODS) to create output data sets. This is a departure from older SAS procedures that provide OUTPUT statements for similar functionality. By using ODS, you can create a SAS data set from any piece of PROC SURVEYFREQ output. For more information about ODS, see ChapterĀ 20: Using the Output Delivery System.

When selecting tables for ODS output data sets, you refer to tables by their ODS table names. Each table created by PROC SURVEYFREQ is assigned a name. See the section ODS Table Names for a list of the table names provided by PROC SURVEYFREQ.

To save the one-way table of `Response`

from FigureĀ 109.3 in an output data set, use an ODS OUTPUT statement as follows:

proc surveyfreq data=SIS_Survey; tables Response / cl nowt; ods output OneWay=ResponseTable; strata State NewUser; cluster School; weight SamplingWeight; run;

Output 109.3.1 displays the output data set `ResponseTable`

, which contains the one-way table of `Response`

. This data set has six observations, and each of these observations corresponds to a row of the one-way table. The first
five observations correspond to the five levels of `Response`

, as they are ordered in the one-way table display, and the last observation corresponds to the overall total, which is the
last row of the one-way table. The data set `ResponseTable`

includes a variable corresponding to each column of the one-way table. For example, the variable `Percent`

contains the percentage estimates, and the variables `LowerCL`

and `UpperCL`

contain the lower and upper confidence limits for the percentage estimates.

Output 109.3.1: `ResponseTable`

Output Data Set

Obs | Table | Response | Frequency | Percent | StdErr | LowerCL | UpperCL |
---|---|---|---|---|---|---|---|

1 | Table Response | Very Unsatisfied | 304 | 17.1676 | 1.2872 | 14.6364 | 19.6989 |

2 | Table Response | Unsatisfied | 326 | 17.7564 | 1.2712 | 15.2566 | 20.2562 |

3 | Table Response | Neutral | 581 | 31.5965 | 1.5795 | 28.4904 | 34.7026 |

4 | Table Response | Satisfied | 455 | 23.9311 | 1.4761 | 21.0285 | 26.8338 |

5 | Table Response | Very Satisfied | 184 | 9.5483 | 0.9523 | 7.6756 | 11.4210 |

6 | Table Response | . | 1850 | 100.000 | _ | _ | _ |

PROC SURVEYFREQ also creates a table summary that is not displayed. Some of the information in this table is similar to the information in the "Data Summary" table, but the "Table Summary" table describes the data that are used to analyze the specified table, whereas the "Data Summary" table describes the entire input data set. Because of missing values, for example, the number of observations (or strata or clusters) used to analyze a particular table can differ from the number of observations (or strata or clusters) in the input data set. For more information, see the section Missing Values. If you request confidence limits, the "Table Summary" table also contains the degrees of freedom and the t-value used to compute the confidence limits.

The following statements store the nondisplayed "Table Summary" table in the output data set `ResponseSummary`

:

proc surveyfreq data=SIS_Survey; tables Response / cl nowt; ods output TableSummary=ResponseSummary; strata State NewUser; cluster School; weight SamplingWeight; run;

Output 109.3.2 displays the output data set `ResponseSummary`

.

Output 109.3.2: `ResponseSummary`

Output Data Set