The TRANSPOSE procedure always produces an output data set, regardless of whether you specify the OUT= option in the PROC TRANSPOSE statement. PROC TRANSPOSE does not print the output data set. Use PROC PRINT, PROC REPORT, or some other SAS reporting tool to print the output data set.
The output data set contains the following variables:
variables that result from transposing the values of each variable into an observation.
a variable that PROC TRANSPOSE creates to identify the source of the values in each observation in the output data set. This variable is a character variable whose values are the names of the variables that are transposed from the input data set. By default, PROC TRANSPOSE names this variable _NAME_. To override the default name, use the NAME = option. The label for the _NAME_ variable is NAME OF FORMER VARIABLE .
variables that PROC TRANSPOSE copies from the input data set when you use either the BY or COPY statement. These variables have the same names and values as they do in the input data set.
a character variable whose values are the variable labels of the variables that are being transposed (if any of the variables that the procedure is transposing have labels). Specify the name of the variable by using the LABEL= option. The default is _LABEL_ .
Note: If the value of the LABEL= option or the NAME= option is the same as a variable that appears in a BY or COPY statement, then the output data set does not contain a variable whose values are the names or labels of the transposed variables.
All transposed variables are the same type and length.
If all variables that the procedure is transposing are numeric, then the transposed variables are numeric. Thus, if the numeric variable has a character string as a formatted value, then its unformatted numeric value is transposed.
If any variable that the procedure is transposing is character, then all transposed variables are character. Thus, if you are transposing a numeric variable that has a character string as a formatted value, then the formatted value is transposed.
The length of the transposed variables is equal to the length of the longest variable that is being transposed.
PROC TRANSPOSE names transposed variables by using the following rules:
An ID statement specifies a variable in the input data set whose formatted values become names for the transposed variables.
The PREFIX= option specifies a prefix to use in constructing the names of transposed variables.
If you do not use an ID statement or the PREFIX= option, then PROC TRANSPOSE looks for an input variable called _NAME_ from which to get the names of the transposed variables.
If you do not use an ID statement or the PREFIX= option, and if the input data set does not contain a variable named _NAME_, then PROC TRANSPOSE assigns the names COL1, COL2, , COL n to the transposed variables.