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

Dear All;

I have the following dataset:

data have;

input ID Var;

datalines;

10     550     

20     440        

;


where Var is a numeric variable, I would like to transform it to a character variable and obtain the following

data want;

input ID Var;

datalines;

10     5-50     

20     4-40        

;


This my unsuccessful attempt:


data want;

set have;

Var1 = put(Var,10.);

run;

data want; set want;

if Var1 = '550' then Var1 = '5-50';

if Var1 = '440' then Var1 = '4-40';

run;


Any help would be highly appreciated.

1 ACCEPTED SOLUTION

Accepted Solutions
Reeza
Super User

Change your put statement to use the -l option, it will align your variable to the left.

For your conversion you may want to use substr/catt functions instead of harding it.

Var1 = put(Var,10. -l);

View solution in original post

1 REPLY 1
Reeza
Super User

Change your put statement to use the -l option, it will align your variable to the left.

For your conversion you may want to use substr/catt functions instead of harding it.

Var1 = put(Var,10. -l);

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