BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
vraj1
Quartz | Level 8

I am stuck up with transposing as i get multople observations if i try to transpose as the paramcd has multiple observations. attached code i am using and i need single observation per subject. any suggestion where am i going wrong

proc sort data=Anl1
	           out= anl2;
     by studyid usubjid paramcd aval;
run;

data Id_adds (keep=studyid usubjid aval avalc paramcd seq);
      set anl2;
      by studyid usubjid paramcd aval;
      seq+1;
       if first.paramcd then seq=1;
run;

proc transpose data=Id_adds out=Id_trans(drop=_name_ _label_) ;
      by studyid usubjid;
     id paramcd seq;
     var aval;
run;
1 ACCEPTED SOLUTION

Accepted Solutions
RW9
Diamond | Level 26 RW9
Diamond | Level 26

This:

     id paramcd seq;

Wont work.   Update here:

data Id_adds (keep=studyid usubjid aval avalc paramcd seq);
  set anl2;
  by studyid usubjid paramcd aval;
retain seq; if first.paramcd then seq=1;
else seq+1;
paramcd=cats(paramcd,put(seq,best.)); run;

Then put:

 

proc transpose data=Id_adds out=Id_trans(drop=_name_ _label_) ;
  by studyid usubjid;
  id paramcd;
  var aval;
run;

Ie make the variable paramcd cd unique by adding the incremental number to it (when you have the sequence correct). 

View solution in original post

1 REPLY 1
RW9
Diamond | Level 26 RW9
Diamond | Level 26

This:

     id paramcd seq;

Wont work.   Update here:

data Id_adds (keep=studyid usubjid aval avalc paramcd seq);
  set anl2;
  by studyid usubjid paramcd aval;
retain seq; if first.paramcd then seq=1;
else seq+1;
paramcd=cats(paramcd,put(seq,best.)); run;

Then put:

 

proc transpose data=Id_adds out=Id_trans(drop=_name_ _label_) ;
  by studyid usubjid;
  id paramcd;
  var aval;
run;

Ie make the variable paramcd cd unique by adding the incremental number to it (when you have the sequence correct). 

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
  • 1328 views
  • 0 likes
  • 2 in conversation