58 %macro contstats(ds=,var=,mtf=,stf= ,maxtf= ,mintf= ,medf=); 59 60 proc means data = &ds. completetypes nway chartype missing noprint ; 61 class trt02p/missing mlf; 62 var &var; 63 /* ods output summary=stats&var (drop=_type_ _freq_);*/ 64 65 output out = stats&var (drop=_type_ _freq_) n=nt mean=mt stddev=st median=mediant min=mint max=maxt ; 66 run; 67 68 data st_&var(drop=mt st nt mediant mint maxt trt02p); 69 set stats&var; 70 n=strip(nt); 71 Mean = strip(put(mt,&mtf))||' ('||strip(put(st,&stf))||')'; 72 Min=strip(put(mint,&mintf))||' - '||strip(put(maxt,&maxtf)); 73 Median=strip(put(Mediant,&medf)); 74 trt02p_=strip(put(trt02p,$trt.)); 5 The SAS System 16:03 Monday, May 7, 2018 75 run; 76 77 proc transpose data = st_&var /*stats&var*/ out = stat_&var ; 78 id trt02p_ ; 79 var n Mean median Min; 80 run; 81 %mend contstats; 82 83 /********get continuous variable statistic******/ 84 %contstats(ds=adsl_,var=aage,mtf=8.2,stf=8.2 ,maxtf=5.1 ,mintf=5.1 ,medf=8.2);
NOTE: Numeric values have been converted to character values at the places given by: (Line):(Column).
84:52
how to get rid of this note?Thanks.
This statement would definitely generate such a note:
n=strip(nt);
Try switching to:
n = strip(put(nt, 8.));
options nonotes;
And you are better of using catx to concatenate than || operator
a quick look at your code makes me think
n=strip(nt);
this causes the note to be written to the log
catx also dont work.getting same note
This statement would definitely generate such a note:
n=strip(nt);
Try switching to:
n = strip(put(nt, 8.));
Thanks a lot.You are right :).It worked
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.
Ready to level-up your skills? Choose your own adventure.