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.
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
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.
Ready to level-up your skills? Choose your own adventure.