COMPUTAB Procedure

Producing a Simple Report

Without any specifications, the COMPUTAB procedure transposes and prints the input data set. The variables in the input data set become rows in the report, and the observations in the input data set become columns. The variable names are used as the row titles. The column headings default to COL1 through COLn. For example, the following input data set contains the monthly expenses reported by different divisions of the company:

data report;
   length compdiv $ 1;
   input compdiv $ date:date7. salary travel insure advrtise;
   format date date7.;
   label travel   = 'Travel Expenses within U.S.'
         advrtise = 'Advertising'
         salary   = 'Permanent Staff Salaries'
         insure   = 'Benefits Including Insurance';
datalines;
A 31JAN1989 95000  10500  2000 6500
B 31JAN1989 668000 112000 5600 90000
C 31JAN1989 105000 6800   9000 18500
A 28FEB1989 91000  8200   1900 12000
B 28FEB1989 602000 99000  5500 86000
C 28FEB1989 96000  6000   8500 16000
;

You can get a listing of the data set by using the PRINT procedure, as follows:

title 'Listing of Monthly Divisional Expense Data';
proc print data=report;
run;

Figure 2: Listing of Data Set by PROC PRINT

Listing of Monthly Divisional Expense Data

Obscompdivdatesalarytravelinsureadvrtise
1A31JAN89950001050020006500
2B31JAN89668000112000560090000
3C31JAN891050006800900018500
4A28FEB89910008200190012000
5B28FEB8960200099000550086000
6C28FEB89960006000850016000


To get a simple, transposed report of the same data set, use the following PROC COMPUTAB statement:

title 'Monthly Divisional Expense Report';
proc computab data=report;
run;

Figure 3: Listing of Data Set by PROC COMPUTAB

Monthly Divisional Expense Report

                 COL1       COL2       COL3       COL4       COL5       COL6    
                                                                                
  compdiv           A          B          C          A          B          C    
  date        31JAN89    31JAN89    31JAN89    28FEB89    28FEB89    28FEB89    
  salary     95000.00  668000.00  105000.00   91000.00  602000.00   96000.00    
  travel     10500.00  112000.00    6800.00    8200.00   99000.00    6000.00    
  insure      2000.00    5600.00    9000.00    1900.00    5500.00    8500.00    
  advrtise    6500.00   90000.00   18500.00   12000.00   86000.00   16000.00    


Last updated: June 19, 2025