Sql 在sas中将单变量表转换为多变量表
我正在努力将sas中的单变量表转换为多变量表。我会说‘单变量表’,我的意思是可能仍然是一个多变量表……但这里有一个例子:Sql 在sas中将单变量表转换为多变量表,sql,sas,Sql,Sas,我正在努力将sas中的单变量表转换为多变量表。我会说‘单变量表’,我的意思是可能仍然是一个多变量表……但这里有一个例子: a、b、c 1001 1 4 8 1001 2 3 7 1002 11 9 6 1002 5 14 15 我希望它像: a1 b1 c1 a2 b2 c3 1001 1 4 8 2 3 7 1002 11 9 6 5 14 15 因为我有数千个I
a、b、c
1001 1 4 8
1001 2 3 7
1002 11 9 6
1002 5 14 15
我希望它像:
a1 b1 c1 a2 b2 c3
1001 1 4 8 2 3 7
1002 11 9 6 5 14 15
因为我有数千个ID(比如1001-3000)。有没有一个简单的方法可以让我把桌子翻转过来
非常感谢 这不是一个简单的方法,因为您要处理多个值。 您可以对每个值进行3次转置-一次,并通过@jaamor的链接进行合并。或者您可以进行半手动数据步转置。这假定最大计数为2。如果每个ID超过2个,则可以计算最大值并将其放入宏变量中。然后用宏变量替换代码中的2
data want;
set have;
by id;
array _a(2) a1-a2;
array _b(2) b1-b2;
array _c(2) c1-c2;
retain a: b: c:;
if first.id then count=1;
else count+1;
_a(count)=a;
_b(count)=b;
_c(count)=c;
if last.id then output;
drop a b c count;
run;
每个ID中的记录数是否相同?如果没有,您是否提前知道最大数量?Proc transpose可以做到这一点。这里有一个教程:非常感谢Jaamor!@我想这可能是一个一步的过程。。