BookmarkSubscribeRSS Feed
angeliquec
Quartz | Level 8


Hi, I have this dataset HAVE which I want to "transpose" into dataset WANT, along with the column labels.
I am not sure how to do this. Thank you!

 

data have;
input name $ gender $ gender_label $;
cards;
Ann F Female
Mark M Male
Kate F Female
;
run;

 

data want;
input name $ F M ;
cards;
Ann 1 .
Mark . 1
Kate 1 .
;
run;

 

/*If there's a way to parameterize the labels as well*/

data want;
set want;
label F = "Female" M="Male";
run;

1 REPLY 1
Kurt_Bremser
Super User

Look into the idlabel statement in proc transpose:

proc transpose
  data=want
  out=have (drop=_name_)
;
by name;
id gender;
idlabel gender_label;
run;

(Untested, no SAS at the moment)

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 1 reply
  • 841 views
  • 0 likes
  • 2 in conversation