BookmarkSubscribeRSS Feed
Son_Of_Krypton
Fluorite | Level 6

I have the below dataset which contains both character and numeric data as shown below :

 

 

data example;
length Var1 $10.;
input Var1 $;
datalines;
AB
CD
100
400
;
run;

 

 

 

Trying to output result by using input function shown below:

 

data cleaned_data;
set example;
Result = put(input(Var1, best3.), z3.);
run;

But after running this getting note : 

 

NOTE: Invalid argument to function INPUT at line 90 column 18.
Var1=AB Result=. _ERROR_=1 _N_=1
NOTE: Invalid argument to function INPUT at line 90 column 18.
Var1=CD Result=. _ERROR_=1 _N_=2
NOTE: Mathematical operations could not be performed at the following places. The results of the operations have been set to
missing values.
Each place is given by: (Number of times) at (Line):(Column).
2 at 90:18
 
 
So what can be done to get rid of this issue. Can anyone help please....
1 REPLY 1
Patrick
Opal | Level 21

Does below return what you're after?

data example;
  input var1 :$10.;
  datalines;
AB
CD
1.5
400
5
;
run;

data cleaned_data;
  set example;
  if notdigit(strip(var1)) then result=var1;
  else result=put(input(var1, ?? best32.), z3.);
run;

proc print data=cleaned_data;
run;

Patrick_0-1712219341789.png

 

 

sas-innovate-wordmark-2025-midnight.png

Register Today!

Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.


Register now!

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