DATA Step, Macro, Functions and more

numeric values getting converted to char note

Accepted Solution Solved
Reply
Contributor
Posts: 55
Accepted Solution

numeric values getting converted to char note

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)Smiley SadColumn).
84:52

how to get rid of this note?Thanks.


Accepted Solutions
Solution
‎05-07-2018 01:09 PM
Super User
Posts: 6,933

Re: numeric values getting converted to char note

This statement would definitely generate such a note:

 

 n=strip(nt);

 

Try switching to:

 

n = strip(put(nt, 8.));

 

View solution in original post


All Replies
Super User
Posts: 2,061

Re: numeric values getting converted to char note

[ Edited ]

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 

Contributor
Posts: 55

Re: numeric values getting converted to char note

Posted in reply to novinosrin

catx also dont work.getting same note

Solution
‎05-07-2018 01:09 PM
Super User
Posts: 6,933

Re: numeric values getting converted to char note

This statement would definitely generate such a note:

 

 n=strip(nt);

 

Try switching to:

 

n = strip(put(nt, 8.));

 

Contributor
Posts: 55

Re: numeric values getting converted to char note

Posted in reply to Astounding

Thanks a lot.You are right Smiley Happy.It worked

☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 4 replies
  • 142 views
  • 1 like
  • 3 in conversation