Dear,
I have a numeric variable 'Time'containing some numbers with decimals. I need to convert the variable to chracter form. I am not getting the output i need with my codes shown below. Please help
Time
0
0.5
1
1.5
2
2.5
My code;
PKT=put(Time__h_,8.1);
if PKT='0' then PKT1='PRE-DOSE';
my code generates output;
PKT1
0.0
0.5
1.0
1.5
2.0
2.5
OUTPUT i need;
PKT1
PRE-DOSE
0.5
1
1.5
2
2.5
My another code:
PKT=put(Time__h_,8.);
if PKT='0' then PKT1='PRE-DOSE';
Output generated;
PKT1
0
1
1
2
2
3
data want;
set have;
if Time eq 0 then charvar ='PRE-DOSE';
else charvar = STRIP(PUT(TIME, best32.));
run;
Use format best. and left align option in PUT function.
data have;
input Time;
datalines;
0
0.5
1
1.5
2
2.5
;
data want;
set have;
if Time = 0 then PKT = "PRE-DOSE";
else PKT = put(Time, best. -l);
run;
proc print; run;
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!
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.