[bit.listserv.sas-l] saving output from TABULATE

UPHILG@UNC.BITNET (Philip Gallagher) (02/13/90)

  Cindy Cummings SXA00056@BAGAMCOK writes

> Is there any way to receive an output dataset with PROC TABULATE?
> That is, does the OUT= option work?

In passing, thanks to Prof. Bob's forbearance with respect to reading
the manual.

My main point:  the answers to CC's question as phrased that I have read
have been technically correct - i.e., no there is no OUT option or
statement to produce a (SAS) dataset from PROC TABULATE.  I think these
answers may miss the mark, however.  I have not been able to conceive of
any useful meaning to the concept of a SAS dataset to be output from
TABULATE (with the exception of some of the calculated statistics, which
I, at least, would find easier to calculate within a DATAstep).  I
wonder if what CC is asking for is a way to save the formatted output
from PROC TABULATE;  if so, I refer her to PROC PRINTTO.  That has
always worked well for me.

                                Phil Gallagher

PRAHL@MACC.WISC.EDU (Walter Prahl, MACC) (02/14/90)

Howard Schreier suggests PROC SUMMARY as an alternative to PROC
TABULATE when one wants to create an output dataset.  I agree, and
would only add that one can often more or less duplicate the
functioning of PROC TABULATE through a combination of PROC SUMMARY and
PROC TRANSPOSE; SUMMARY alone will often not be sufficient.  TRANSPOSE
is, unfortunately, probably the most underused proc in Base SAS.
People often resort to complex data step programming to do what
TRANSPOSE was designed to do.

Phil Gallagher suggests that an output dataset from PROC TABULATE is
not a very well defined concept.  While I agree that it is not
entirely obvious or clear what such a thing would look like in
general, I have often enough wanted to create a dataset that I could
quite precisely define and that would represent something similar to
what TABULATE generates.  It is in these cases that I have used SUMMARY
in combination with some other processing of SUMMARY's output data set
(such as with TRANSPOSE).  I'm not sure if one could define a
reasonable dataset format that would capture all of the current
variations in TABULATE's functioning, but it would certainly not be
hard to define a format that would cover a large number of these
variations.  Basically, TABULATE would have to generate one or
more auxilliary variables and place them in the dataset, like the way
SUMMARY generates the _TYPE_ variable.

By the way, I'm surprised that nobody has yet mentioned the fact that
the addition of an OUT= option for TABULATE has been a SUGI ballot
item for several years now.  So this isn't exactly a new idea!
----------------------------------
Walter Prahl (608) 262-0284
University of Wisconsin -- MACC
Internet:  prahl@vms.macc.wisc.edu
Bitnet:    prahl@wiscmacc.bitnet