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;
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).
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).
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.