I will be importing an excel file using proc import. The excel file is updated every month with a new tab for that month. (Ex: "06-16" as the tab name). Is there a way to only import the tab that has the current month as the tab name?
Thanks in advance!
... Or go directly for
proc import datafile="&sasforum\datasets\testdatetab.xlsx" out=test replace;
sheet="%sysfunc(putn(%sysfunc(today()),mmyyd5.))";
run;
if you don't need the sheet name for other purposes.
This code will return the current date in MM-YY format:
%let tab = %sysfunc(putn(%sysfunc(today()),mmyyd5.));
Use "&tab" where you would reference the sheet name.
... Or go directly for
proc import datafile="&sasforum\datasets\testdatetab.xlsx" out=test replace;
sheet="%sysfunc(putn(%sysfunc(today()),mmyyd5.))";
run;
if you don't need the sheet name for other purposes.
Or go down the correct route, build a data transfer agreement which both the sender and you agree to which details what data should be sent, what the strcuture of the data should be, also wether is will be cumulative or incremental, and fix the data transfer type using a proper data transfer file format - CSV, XML dataset etc. That way you can write a simple datastep import to properly process the data into a useable format according to a documented process, and it is reproduceable. Using Excel and proc import is the bigget method to failure and the reason why we see so many questions on here about messy data - it hasn't been processed correctly in the first place.
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.
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.
Ready to level-up your skills? Choose your own adventure.