I found this code snippet in our code base:
data _null;
file aaa;
filename = 'xxx_123' ;
run;
%include aaa;
filename aaa clear;
Will this run the macro xxx_123.sas and store the output in aaa and then clear it
No. Here is what it will do.
1) It will make a dataset name _NULL with one observation and one variable, FILENAME, with the value 'xxx_123'.
If the fileref AAA was defined before the data step then :
2A) it will be made empty since the data step writes nothing into it.
3A) it will then try to include the empty file as code and so nothing will happen.
4A) it will undefine the fileref AAA.
Otherwise
2B) it will create an empty file named aaa.dat in the current working directory.
3B) it will try to include SAS statements from a file named aaa.sas. Effect will vary based on whether such a file exists or not.
4B) it will get a warning trying to undefine the fileref AAA.
No. Here is what it will do.
1) It will make a dataset name _NULL with one observation and one variable, FILENAME, with the value 'xxx_123'.
If the fileref AAA was defined before the data step then :
2A) it will be made empty since the data step writes nothing into it.
3A) it will then try to include the empty file as code and so nothing will happen.
4A) it will undefine the fileref AAA.
Otherwise
2B) it will create an empty file named aaa.dat in the current working directory.
3B) it will try to include SAS statements from a file named aaa.sas. Effect will vary based on whether such a file exists or not.
4B) it will get a warning trying to undefine the fileref AAA.
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!
What’s the difference between SAS Enterprise Guide and SAS Studio? How are they similar? Just ask SAS’ Danny Modlin.
Find more tutorials on the SAS Users YouTube channel.