DATA Step, Macro, Functions and more

Reading raw currency data with an abbreviated suffix

Accepted Solution Solved
Reply
SAS Employee
Posts: 1
Accepted Solution

Reading raw currency data with an abbreviated suffix

I'm trying to read a raw data file with abbreviated currency values like:

 

1 Exxon Mobil United States $433.5B $41.1B $331.1B $407.4B
2 JPMorgan Chase United States $110.8B $19B $2,265.8B $170.1B

 

Attached is actual raw data file.  I cannot get the data in correctly...the following code is about as close to success as I have gotten:

 

data BigCompanies;
infile 'c:\projectdata\BigCompanies.dat';
input rank 3. company $ 6-31 country $ 35-49 @'$' sales dollar5.1 
@'$' profits dollar5.1 @'$' assets dollar5.1 @'$' market dollar5.1;
run;

 

Struggling...thinking I must be making this harder than it needs to be and would appreciate any assistance.

 

 

 


Accepted Solutions
Solution
‎02-17-2016 07:53 AM
Super User
Posts: 10,020

Re: Reading raw currency data with an abbreviated suffix

data have;
infile '/folders/myfolders/BigCompanies.txt' truncover expandtabs;
input rank company & $40. country & $40. 
(_sales _profits  _assets  _market) (: $40.) ;
 sales =input(compress(_sales,'B'),dollar32.);
 profits =input(compress(_profits ,'B'),dollar32.);
 assets =input(compress(_assets ,'B'),dollar32.);
 market =input(compress(_market ,'B'),dollar32.);
drop _:;
run;

View solution in original post


All Replies
Solution
‎02-17-2016 07:53 AM
Super User
Posts: 10,020

Re: Reading raw currency data with an abbreviated suffix

data have;
infile '/folders/myfolders/BigCompanies.txt' truncover expandtabs;
input rank company & $40. country & $40. 
(_sales _profits  _assets  _market) (: $40.) ;
 sales =input(compress(_sales,'B'),dollar32.);
 profits =input(compress(_profits ,'B'),dollar32.);
 assets =input(compress(_assets ,'B'),dollar32.);
 market =input(compress(_market ,'B'),dollar32.);
drop _:;
run;
☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 1 reply
  • 243 views
  • 0 likes
  • 2 in conversation