Hi,
I have a macro and a proc import but im not too sure the macro is working and the file specified can't be found, is there anything wrong with what I have done please?
%let Prev_Date_Ran=0719
Proc Import
Datafile='V:\Branch\Office\Set_Up_&Prev_Date_Ran.xls'
Out=Work.RAW_All_Users_Previous_Run
DBMS=XLS
replace;
run;
1. Semi Colon is missing at the end of the statement.
%let Prev_Date_Ran=0719;
2. Replace the singe quotes with double quotes so that the macro variable could resolve.
Proc Import Datafile="V:\Branch\Office\Set_Up_&Prev_Date_Ran.xls"; Out=Work.RAW_All_Users_Previous_Run DBMS=XLS replace; run;
1. Semi Colon is missing at the end of the statement.
%let Prev_Date_Ran=0719;
2. Replace the singe quotes with double quotes so that the macro variable could resolve.
Proc Import Datafile="V:\Branch\Office\Set_Up_&Prev_Date_Ran.xls"; Out=Work.RAW_All_Users_Previous_Run DBMS=XLS replace; run;
Proc Import Datafile="V:\Branch\Office\Set_Up_&Prev_Date_Ran..xls"; Out=Work.RAW_All_Users_Previous_Run DBMS=XLS replace; run;
Also needs one additional period between the macro variable and the file extention. The first period will be used by the macro processor to concatenate following text.
If you run
%put "V:\Branch\Office\Set_Up_&Prev_Date_Ran.xls";
The result in the log is:
"V:\Branch\Office\Set_Up_0719xls"
demonstrating that the period gets "eaten" by the macro processor.
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.