02-27-2018 05:33 AM
I have one field named 'Amount' which is in character format of 20 bytes i.e. $20.
I want to perform Sort Sum on this amount field but I am getting error as character data can't be added up. Please suggest what needs to be done here?
I have below amounts in my input file which has been set as $20. Also, I have tried changing $20. to PD format but no luck. I want to convert this in numeric format so that it will be printed as it is and sort sum can be performed.
02-27-2018 05:41 AM
data have; input Amount $20.; datalines; -80.45 -202.07 33 126995.77 ; data want; set have; NumAmount=input(Amount, 20.); run;
02-27-2018 06:01 AM
I already tried the below code. But the amounts are not populating as expected.
The decimal digit places are not being printed. Also, I tried 20.2 but it it converting all the values with 2 decimal places.
When I ran code with 20.2 I got below result which is wrong.
When I ran the code with 20. I got below results.
02-27-2018 06:17 AM
@draycut provided the correct solution. You are getting those results because you added to it something like:
format NumAmount 20.;
Get rid of the FORMAT statement.
02-27-2018 07:47 AM - edited 02-27-2018 08:09 AM
02-27-2018 08:19 AM
So you applied the format in a PUT statement instead of a FORMAT statement. Still, you got what you requested. Change the PUT statement:
put @30 amtn 20.2;