The TABULATE Procedure

# Example 10: Reporting on Multiple-Response Survey Data

Procedure features:
TABLE statement:
 denominator definition (angle bracket operators) N statistic PCTN statistic variable list
Other features:
FORMAT procedure
SAS system options:
 FORMDLIM= NONUMBER
SYMPUT routine

The two tables in this example show

• which factors most influenced customers' decisions to buy products

• where customers heard of the company.

The reports appear on one physical page with only one page number. By default, they would appear on separate pages.

In addition to showing how to create these tables, this example shows how to

• use a DATA step to count the number of observations in a data set

• store that value in a macro variable

• access that value later in the SAS session.

Completed Survey Form shows the survey form used to collect data.

 ```options nodate pageno=1 linesize=80 pagesize=18 formdlim=' ';```
 ```data customer_response; input Customer Factor1-Factor4 Source1-Source3 Quality1-Quality3; datalines; 1 . . 1 1 1 1 . 1 . . 2 1 1 . 1 1 1 . 1 1 . 3 . . 1 1 1 1 . . . . . . . more lines of data . . . 119 . . . 1 . . . 1 . . 120 1 1 . 1 . . . . 1 . ;```
 ```data _null_; if 0 then set customer_response nobs=count; call symput('num',left(put(count,4.))); stop; run;```
 ```proc format; picture pctfmt low-high='009.9 %'; run;```
 ```proc tabulate data=customer_response; var factor1-factor4 customer;```
 ``` table factor1='Cost' factor2='Performance' factor3='Reliability' factor4='Sales Staff', (n='Count'*f=7. pctn='Percent'*f=pctfmt9.) ;```
 ``` title 'Customer Survey Results: Spring 1996'; title3 'Factors Influencing the Decision to Buy'; run;```
 `options nonumber;`
 ```proc tabulate data=customer_response; var source1-source3 customer;```
 ``` table source1='TV/Radio' source2='Newspaper' source3='Word of Mouth', (n='Count'*f=7. pctn='Percent'*f=pctfmt9.) ;```
 ``` title 'Source of Company Name'; footnote "Number of Respondents: &num"; run;```
 `options formdlim='' number;`