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....
3 REPLIES 3
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

 

 

DrAbhijeetSafai
Lapis Lazuli | Level 10

@Patrick , thanks!

 

Use of ?? before format is really useful. At least is was useful to me when there was some data issue. Seems that there were some characters which looked same (Week 12) to eyes but which were different in reality. Anyhow, use of ?? worked for me. 

 

Thank you. 

 

-- Dr. Abhijeet Safai

Dr. Abhijeet Safai
Certified Base and Clinical SAS Programmer
Associate Data Analyst
Actu-Real
ballardw
Super User

What specific numeric values do you expect to be output for the strings "AB" and "CD"?

 

 

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

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!

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