SAS:如何将条目放入目录?

时间:2016-09-15 02:10:46

标签: macros sas catalog

我有一个目录,我希望将未编译的宏存储为.sas文件。例如,我想要一个名为“myMacros”的目录,其中包含“Macro1.sas”,“Macro2.sas”等。

我在Windows上使用SAS 9.4。

我看过的每个地方都只告诉我如何访问目录一旦存在。我找不到如何对象分配给目录。我花了几个小时搜索文档,阅读了大部分SAS 9.4 Macro Language Reference并尝试理解FILENAME Statement, CATALOG Access MethodCATALOG Procedure

1 个答案:

答案 0 :(得分:0)

这个想法的要点是你为目录创建一个FILE定义,然后在目录中输入代码。

FILENAME CODE CATALOG "WORK.TEST.SOURCE";
DATA _NULL_;
   FILE CODE ;
   PUT "PROC PRINT";
RUN;

或 1.通过MSTORED SASMSTORE选项定义存储宏的位置。 2.分配库 3.使用宏代码上的SOURCE选项存储代码。

Michael Raithels Paper的例子(链接如下):

OPTIONS MSTORED SASMSTORE=MYSTORE;
LIBNAME MYSTORE "S:\PROJECTS\SGF2015\COMPILED_MACROS";
2
%MACRO RUNCONTS (IN=, OUT=) / STORE SOURCE DES="Run Contents and Test Print";
 TITLE1 "CONTENTS AND TEST PRINT OF DS &IN. - &SYSDATE - &SYSTIME";
 PROC CONTENTS DATA = &IN. VARNUM;
 RUN;
 PROC PRINT DATA= &IN. (OBS=5) NOOBS;
 RUN;
%MEND;

有用的参考资料: http://analytics.ncsu.edu/sesug/2005/AD07_05.PDF http://support.sas.com/resources/papers/proceedings15/3459-2015.pdf