【问题标题】:SAS: How do I put entries into a catalog?SAS:如何将条目放入目录?
【发布时间】:2016-09-15 02:10:46
【问题描述】:

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

我在 Windows 上使用 SAS 9.4。

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

【问题讨论】:

  • 一般来说,如果您找不到如何做某事,请搜索 lexjansen.com 以查找用户撰写的有关该主题的论文。

标签: macros sas catalog


【解决方案1】:

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

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

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

Michael Raithels 论文中的示例(以下链接):

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

【讨论】:

    猜你喜欢
    • 2017-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-24
    • 2021-12-12
    • 2013-10-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多