BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
ammarhm
Lapis Lazuli | Level 10

Hi everyone,

Could anyone please help me with a code that will allow the user to brow to the location of an excel file to import to SAS?

I am using SAS 9.4 Base (not EG)

Thank you 

Kind regards

AM

1 ACCEPTED SOLUTION

Accepted Solutions
Reeza
Super User

If you're going to need prompts I would suggest switching to SAS EG or Studio or AddIn for Microsoft Office. 

 

Otherwise you're stuck rolling your own via JavaScript or another application interface. SAS Base is not designed for interactive solutions like this. 

 

Usually, if it's base I have parameters at the top and people have to copy/paste in the path.  To import all sheets, you can use the XLSX libname approach and PROC COPY. This should copy all the sheets with data to the WORK library.

 

%let pathFileImport = C:\_localdata\temp\Demo.xlsx;


libname demo xlsx "&pathFileImport";

proc copy in=demo out=work;
run;

View solution in original post

4 REPLIES 4
Cynthia_sas
SAS Super FREQ

Hi:

  If you are already using Base SAS 9.4, the Windowing Environment has an Import Data menu option that allows you to browse to the location of a file to import: File --> Import Data --> and then follow the prompts in the Import Window:

dms_import_data.png

  Hope this helps,

 

Cynthia

ammarhm
Lapis Lazuli | Level 10

Thanks Cynthia

I am aware of the import functionality through the drop-down menu, I was however looking for achieving something similar using the code itself.

I have looked into %window but not sure I can get a pop up menu with a browse button to allow the user to choose the path of the excel file.

The issue is that the excel file will contain multiple sheets, so i was trying to capture the file path through a prompt to the user, then use proc import to import all the sheets from the excel file

Thanks again

AM

Cynthia_sas
SAS Super FREQ

Hi:

  I do not believe that %WINDOW will allow you to implement a browse button, because the browse button would have to go out to the operating system and then return the results to the %WINDOW program. This is probably a question for Tech Support. I don't actually recommend using %WINDOW because it has limited usefulness in a client/server scenario. You might try investigating SAS Studio, you can build your own tasks and, in fact, there is an Import Task that you might even be able to start with as a model. It was my understanding that SAS Studio was available with Base 9.4 -- when I installed the latest version of SAS 9.4, I got all 3 interfaces: SAS on Windows, SAS EG and SAS Studio. Here's what the Import Task looks like in SAS Studio:

studio_import_task.png

 

Cynthia

Reeza
Super User

If you're going to need prompts I would suggest switching to SAS EG or Studio or AddIn for Microsoft Office. 

 

Otherwise you're stuck rolling your own via JavaScript or another application interface. SAS Base is not designed for interactive solutions like this. 

 

Usually, if it's base I have parameters at the top and people have to copy/paste in the path.  To import all sheets, you can use the XLSX libname approach and PROC COPY. This should copy all the sheets with data to the WORK library.

 

%let pathFileImport = C:\_localdata\temp\Demo.xlsx;


libname demo xlsx "&pathFileImport";

proc copy in=demo out=work;
run;

sas-innovate-2024.png

Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.

Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.

 

Register now!

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.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 4 replies
  • 1900 views
  • 5 likes
  • 3 in conversation