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;
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
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.