Hallo, I have a table like this
Date ID return
....
....
and I would like to transpose it to have something like
date 100048 100055
Can anyone tell me how can I get this? Thanks alot
This is a basic transposition problem. However, the resulting variable names cannot be numbers, with the following code, they will be like V100048 and V100055 :
proc sort data=have; by date; run;
proc transpose data=have out=want(drop=_:) prefix=V;
by date;
id id;
var return;
run;
PG
How about?:
proc sort data=have;
by date;
run;
proc transpose data=have out=want (drop=_:);
var return;
id id;
by date;
run;
This is a basic transposition problem. However, the resulting variable names cannot be numbers, with the following code, they will be like V100048 and V100055 :
proc sort data=have; by date; run;
proc transpose data=have out=want(drop=_:) prefix=V;
by date;
id id;
var return;
run;
PG
Thank you !!
Assuming id is a numeric variable.
data have; do date='31aug2011'd to '31dec2011'd; id=100048;return=2; output; end; do date='31jan1980'd to '30apr1980'd; id=100055;return=2; output; end; run; proc sql; select distinct cats('have(rename=(return=_',id,') where=(id=',id,'))') into : list separated by ' ' from have; quit; data want; merge &list ; by date ; run;
Ksharp
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.