DATA Step, Macro, Functions and more

How to get SAS to import MS xlsx files with date fields as all numeric (or all character)

Reply
Regular Contributor
Posts: 192

How to get SAS to import MS xlsx files with date fields as all numeric (or all character)

Hello.  Any help you can give is much appreciated.

I've successfully imported the 40 xlslx spreadsheets using the code I found on this communities website - program attached.

But, I'm unable to append them because I'm getting error messages that some variables are both character and numeric.

This happens with the date fields (formatted as short date in xlsx) which have some missing observations.

How do I get around this?  MIXED=YES gives me more date fields that come up as character than numeric.

Is it better to import as character or as numeric?

Attachment
Super User
Posts: 17,824

Re: How to get SAS to import MS xlsx files with date fields as all numeric (or all character)

Your code was truncated.

Regular Contributor
Posts: 192

Re: How to get SAS to import MS xlsx files with date fields as all numeric (or all character)

Thanks!  Uploaded SAS file because it wasn't pasting properly.

Trusted Advisor
Posts: 1,204

Re: How to get SAS to import MS xlsx files with date fields as all numeric (or all character)

While importing excel files some of the variables may contain missing values in the first row that creates a problem. PROC IMPORT with an Excel file, uses the first eight lines to determine if a variable is numeric or character. So importing csv files will provide more flexibility. You can put GUESSINGROWS =  (max number of rows to be examined) option in proc import to determine the exact variable type.


Regards,

Naeem

Super User
Posts: 10,500

Re: How to get SAS to import MS xlsx files with date fields as all numeric (or all character)

And you probably want to start with the code you used to import the data.

The quickest fix might end up making changes in the Excel data or exporting the data to CSV and reading that with more control than proc import gives, such as control over whether a variable is numeric or character, associated formats and use of appropriate informats.

Regular Contributor
Posts: 192

Re: How to get SAS to import MS xlsx files with date fields as all numeric (or all character)

I highlighted all the date columns in each Excel spreadsheet and changed them to 'short date' but still unable to import the fields (esp ones with more missing values) as numeric.

I can try to export into CSV and import into SAS unless you suggest anything else?

Contributor
Posts: 74

Re: How to get SAS to import MS xlsx files with date fields as all numeric (or all character)

If you want PROC IMPORT to have an option to import all fields as character, please vote:

PROC IMPORT -- all fields as character

Contributor
Posts: 74

Re: How to get SAS to import MS xlsx files with date fields as all numeric (or all character)

If you want PROC IMPORT to have an option to import all fields as character, please vote:

PROC IMPORT -- all fields as character

Ask a Question
Discussion stats
  • 7 replies
  • 1002 views
  • 2 likes
  • 5 in conversation