BookmarkSubscribeRSS Feed
Louis44
Calcite | Level 5

When importing data into SAS, there is a field that is sometimes numeric, and sometimes character.  How can I always convert it to character?  It seems like there is not a way to convert a character to a character.

Is there a way to do this on the import, such as declaring the field a character datatype when I import the file?

3 REPLIES 3
PGStats
Opal | Level 21

If the field is in a text file you can simply import it into a character variable :

data myData;

infile "myPath\myFile.txt";

length myField $12;

input x myField y;

run;

If the field is an Excel worksheet column then you must include the mixed=yes option in the libname statement

libname xl Excel "myPath\myFile.xls" mixed=yes;

data myData;

set xl.'Sheet1$'n;

run;

PG

PG
Tom
Super User Tom
Super User

Best way is to not use IMPORT.  Instead have the files supplied to you in a known format and read them using a program.  Then you have control over how the variables are named and the type.

Louis44
Calcite | Level 5

I ended up using CATS() in the proc sql to convert the field to a character.  This works even if it was already a character to begin with.

Catch up on SAS Innovate 2026

Nearly 200 sessions are now available on demand with the SAS Innovate Digital Pass.

Explore Now →
What is Bayesian Analysis?

Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.

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
  • 3 replies
  • 1933 views
  • 0 likes
  • 3 in conversation