BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
asimraja
Fluorite | Level 6

Hi,

I'm trying to read a CSV with long records using "infile" statement. I can read the long record using "lrecl=" option. However, this file also has numeric values enclosed within parenthesis, which is giving me an error. I'm using the informat "comma". Can you please advise me how I can fix this? Thank you in advance!

Code:

data input_data;

    infile "&out_path./&fn." dlm="," dsd missover pad firstobs=2 obs=5 lrecl=5640;

    input

          CUSIP :$9.

          Yield_1 - Yield_912 :comma10.3

          dummy :$1;

     drop dummy;

run;

Observation value causing error:

0.670 , (5.095), 3.168

(Note, as the record is very long, I've only listed the values 323, 324 and 325. 323 and 325 are ready correctly)


Log:

NOTE: Invalid data for Yield_324 in line 5 1890-1897.

1 ACCEPTED SOLUTION

Accepted Solutions
PGStats
Opal | Level 21

Try

(Yield_1 - Yield_912) (:comma10.)


instead. Without the parentheses, the comma. format applies only to the last variable in the list.


PG

PG

View solution in original post

2 REPLIES 2
PGStats
Opal | Level 21

Try

(Yield_1 - Yield_912) (:comma10.)


instead. Without the parentheses, the comma. format applies only to the last variable in the list.


PG

PG
asimraja
Fluorite | Level 6

PG,

Thank you for help! It worked. Smiley Happy

Asim

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

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
  • 2 replies
  • 4007 views
  • 1 like
  • 2 in conversation