Help using Base SAS procedures

Character to Numeric conversion in output

Reply
New Contributor
Posts: 3

Character to Numeric conversion in output

SupplierCityItem CategoryMonthCostRevenueUnit PriceUnits AvailableUnits Sold
Bantam BooksAnnapolisArt & ArchitectureJan$38,136$47,760$105.00655454
Bantam BooksAnnapolisArt & ArchitectureFeb$11,919$56,785$54.00429388
Bantam BooksAnnapolisArt & ArchitectureMar$1,24,897$98,586`$98.008945

Hi All,

I have an excel csv file, which has 9 variables and some 24 observations for each variable. The variables are in order they appear:

1. Supplier

2. City

3. Item Category

4. Month

5. Cost

6. Revenue

7. Unit Price

8. Units Available

9. Units Sold.

The only confusion is:  Cost and Revenue has $ associated with it ($38,000 for example) and Unit Price as $105.00 . Not sure, how do I convert this to Numeric format.

So, I wrote a code for this as:

data get_data;

infile " file location of the excel where it is located";

Length Supplier $20. City $20.  Item Category $20.;

Input Supplier $ City $ Item Category $ Month $ Cost $ Revenue $ Unit Price $ Units Available Units Sold;

numeric=input(Cost, 8.);

numeric=input(Revenue, 10.);

numeric=input(Unit Price, 8.);

proc print;

run;

It gives an error for this code and the values are not read properly into SAS . It says no result to display.

Please assist me in writing the right code.

Regards,

Mohammed

Please assist

Grand Advisor
Posts: 16,850

Re: Character to Numeric conversion in output

Don't use a character informat in the first place? Remove the $ sign, I would also use the DSD option and Truncover on my infile statement.

data get_data;

Length Supplier $20. City $20.  Item Category $20.;

format cost revenue unit_price dollar12.;

informat cost revenue unit_price dollar12.;

infile " file location of the excel where it is located" DSD truncover;

Input Supplier $ City $ Item Category $ Month $ Cost Revenue  Unit_Price  Units_Available Units_Sold;

run;

proc print;

run;

Ask a Question
Discussion stats
  • 1 reply
  • 96 views
  • 0 likes
  • 2 in conversation