sas - 如何在没有定义的情况下使宏可调用
问题描述
目前我有一些非常有用的宏,但我需要在每个程序中定义然后调用它们。有没有一种方法可以为自己创建一个宏库,我可以参考而无需在同一个程序中定义它们,也许需要能够从特定的库中调用它们。
目前:
%macro GenericMacro1(&File);
....
%mend;
%GenericMacro1(File1);
%GenericMacro1(File2);
想:
libname MyMacros "C://.....";
%MyMacros.GenericMacro1(File1);
%MyMacros.GenericMacro2(File2);
解决方案
请参阅SASAUTOS 文档
标识包含包含 SAS 宏定义的库成员的位置。位置可以是 SAS 文件引用或用引号括起来的特定于主机的位置名称。每个成员都包含一个 SAS 宏定义。
相关选项是MAUTOSOURCE
启用自动呼叫功能。
您还可以在 SAS 会话使用中使用存储的预编译宏。
options mstored sasmstore=mylib;
文档警告说,在运行 SAS 会话期间,编译宏的原始源代码并不总是可提取的
注意: 保存您的宏源代码。
推荐阅读
- javascript - 将 yAxis 标签作为 xAxis 类别的 10%
- javascript - 如何在数据表中具有动态模态
- php - Symfony 中同一防火墙的匿名用户和经过身份验证的用户
- sql - 如何修复我的 StoredProcedure 以获取 isActive=1 的记录,并且如果 IsActive=0 还从同一用户获取记录
- nsbundle - 我可以在 macOS App Store 中的应用程序之间迁移购买吗?
- php - Google 计算引擎实例使用 api 启动/状态/停止
- python - 我使用 Flask 编写了一个小型 Web 代码,并在浏览器中输入了 http://127.0.0.1:5000/ 但它正在运行一些其他代码如何解决这个问题?
- r - 学术主题中的共享按钮不适用于博客文章
- java - 动态生成文件路径时不删除文件
- angular - 如何仅在角度 5 或 6 中创建时间选择器?