Hello all,
I'm hoping you can help me with some code to change observations to variables, I have data with a structure like so:
ID Date UniqueVal
1 D1 111
1 D2 222
1 D3 333
2 D1 111
2 D2 222
2 D3 333
3 D1 111
3 D2 222
3 D3 333
I want:
ID D1 D2 D3
1 111 222 333
2 111 222 333
3 111 222 333
Hopefully that makes sense. Anyway, thank you in advance for your guidance.
data have;
input ID Date $ UniqueVal;
datalines;
1 D1 111
1 D2 222
1 D3 333
2 D1 111
2 D2 222
2 D3 333
3 D1 111
3 D2 222
3 D3 333
;
proc transpose data=have out=want(drop=_name_);
by id;
var UniqueVal;
id date;
run;
did you try proc transpose?
data have;
input ID Date $ UniqueVal;
datalines;
1 D1 111
1 D2 222
1 D3 333
2 D1 111
2 D2 222
2 D3 333
3 D1 111
3 D2 222
3 D3 333
;
proc transpose data=have out=want(drop=_name_);
by id;
var UniqueVal;
id date;
run;
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.
Need to connect to databases in SAS Viya? SAS’ David Ghan shows you two methods – via SAS/ACCESS LIBNAME and SAS Data Connector SASLIBS – in this video.
Find more tutorials on the SAS Users YouTube channel.