Have: a xlsb file.
Want: import part of the data to SAS EG.
Code used:
%macro Import;
proc import datafile = "&_folderpath&_filepath&_filename" /* pre-defined, no error here */
out = work.test
replace
dbms= xlsb; /* changes were made here*/
range='Sheet1$A3:Z900000'n;
getnames=yes;
run;
%mend Import;
%Import;
run;
One error reported:
ERROR: DBMS type XLSB not valid for import.
Tried to change the code to
dbms= ExcelCS;
One error reported:
ERROR: Statement or Option "GETNAMES" not valid for EXCELCS IMPORT.
The column names come from A3:Z3. Definitely need it.
How to fix the codes?
What about DBMS = EXCEL or XLS? If you have the bitness problem then you can download the 64-bit ACE engine software from Microsoft as an alternative to using the SAS PC File Server.
Have you tried with dbms=excelcs? Getnames unfortunately isn't supported with that dbms from what I can see.
You could specify the range to ensure you have the right variable columns with range='a5:e21'n for example. Alternatively if you can have the range named it works even better.
What about DBMS = EXCEL or XLS? If you have the bitness problem then you can download the 64-bit ACE engine software from Microsoft as an alternative to using the SAS PC File Server.
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
Check out this tutorial series to learn how to build your own steps in SAS Studio.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.