Proc Transpose will do that, I think.
data have ;
input id name $ value ;
cards;
1 A 1.1
1 B 1.3
1 C 1.4
2 A 1.2
2 B 3.4
2 C 2.9
3 A 0.9
3 B 1.0
3 C 4.2
;
proc transpose data=have out=want (drop=_name_) ;
by id;
id name ;
var value;
run;
The will produce this data
ID A B C
1 1.1 1.3 1.4
2 1.2 3.4 2.9
3 0.9 1 4.2
... View more