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

I would like to import the text file, the 2nd column should be all characters. 

 

When i import, as the first record was numeric, the format was numeric and those records with alphabet became . ; may i know how to import the file that the 2nd columns should become characters instead of numeric?

 

Anyone can help? Sample file attached.

1 ACCEPTED SOLUTION
5 REPLIES 5
scb
Obsidian | Level 7 scb
Obsidian | Level 7

I tried the file with more variables...The COL5 and COL6 was incomplete after the import...Any idea? Thanks.

 

data want;
infile 'D:\RenewalCSV1.txt' dlm=';';
input col1 $ col2 $ COL3 $ COL4 $ COL5 $ COL6 $;
run;

 

 

PeterClemmensen
Tourmaline | Level 20

When you say incomplete, do you mean truncated? 🙂 In that case use a length statement.

Reeza
Super User

Your text file either has more than 6 cols or the data is on a single line. 

 

If single line make make sure to use the trailing @@. 

ballardw
Super User

If you do not indicate to SAS that a character variable will exceed 8 characters that is the default length.

You may want to use an INFormat statement to indicate how to read the variable.

It would look something like this:

data want;
   infile 'D:\RenewalCSV1.txt' dlm=';';
   informat Col5 Col6 $50.
   input col1 $ col2 $ COL3 $ COL4 $ COL5 $ COL6 $;
run;

Make the size, 50 in my example, sufficient to hold the longest expected value.

 

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
  • 5 replies
  • 2784 views
  • 2 likes
  • 5 in conversation