BookmarkSubscribeRSS Feed
GeorgeSAS
Lapis Lazuli | Level 10

Hello,

why I can't convert the character m to numeric s?

 

data a;

m='12345678';

run;

data b;

set a;

s=put(m, $8.);

run;

 

Thanks

4 REPLIES 4
ballardw
Super User

PUT always creates a character variable used the way you did

 

Try

data b;

set a;

s= input(m, 8.);

run;

 

 

 

GeorgeSAS
Lapis Lazuli | Level 10

thank you, but s is still a char.

Reeza
Super User

It shouldn't be. Double check your code and output. Was your log clean? Is S already in your dataset, you can't change a variable type if it already exists in the dataset.

 

data a;
m='12345678';
run;
data b;
set a;
s=input(m, 8.);
run;

proc contents data=b;
run;

Alphabetic List of Variables and Attributes

#Variable Type Len

1m Char 8

2 s Num 8

GeorgeSAS
Lapis Lazuli | Level 10

I found the problem, the import excel file including special characters which make SAS function can't recginize that variable.

the special characters are something like ctrl+ enter in excel.

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
  • 4 replies
  • 1391 views
  • 0 likes
  • 3 in conversation