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.
Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.
Register today!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.