Help using Base SAS procedures

Convert data type to character--even if it's already character

Reply
Occasional Contributor
Posts: 9

Convert data type to character--even if it's already character

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?

Respected Advisor
Posts: 4,934

Re: Convert data type to character--even if it's already character

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
Super User
Super User
Posts: 7,076

Re: Convert data type to character--even if it's already character

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.

Occasional Contributor
Posts: 9

Re: Convert data type to character--even if it's already character

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.

Ask a Question
Discussion stats
  • 3 replies
  • 172 views
  • 0 likes
  • 3 in conversation