使用SAS SQL转换具有一行和多列的表

时间:2016-11-03 16:21:57

标签: sas transpose proc-sql

我的表只有1行和多列。我只需返回1列和多行。可以通过SAS SQL进行转置吗?

在:

column1 column2 column3 column4
   1       2       3       4

后:

column
   1
   2
   3
   4

2 个答案:

答案 0 :(得分:0)

既然你提到SAS SQL(而不是任何其他SAS proc),这是一个解决方案,但如果你有很多列,它会有点冗长:

PROC SQL;

    SELECT column1 AS column FROM table
    UNION ALL
    SELECT column2 AS column FROM table
    UNION ALL
    SELECT column3 AS column FROM table
    UNION ALL
    SELECT column4 AS column FROM table;

    /* Add for each column */

QUIT;

这个简单的联合(堆叠)每一列。

答案 1 :(得分:0)

为什么不使用PROC TRANSPOSE,您不必知道默认情况下PROC TRANSPOSE将转置所有数字列的列数甚至名称。

proc transpose data= out= ;
   run;