如何重新整理数据

时间:2016-02-25 15:22:39

标签: sas transpose

我想将数据列重塑为行

初始表如下所示

ID1     ID2     ID3     Name
----------------------------
I001    I002    I003    John

欲望表如

ID      Name
------------
I001    John
I002    John
I003    John

任何人都可以帮忙吗?

非常感谢!!

2 个答案:

答案 0 :(得分:0)

执行此操作的一种方法是设置ID数组并使用显式OUTPUT语句进行循环。

data want;
  set have;

  array ids(3) id1-id3;

  do i=1 to dim(ids);
      ID=ids(i);
      OUTPUT;
  end;
run;

答案 1 :(得分:0)

您可以使用PROC TRANSPOSE确保您的数据按NAME

排序
proc transpose data=have out=want(rename=(_name_=ID));
by Name;
run;