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 :
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 , 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
What specific numeric values do you expect to be output for the strings "AB" and "CD"?
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.