sas - 将 mymacro /source 复制到另一个库?
问题描述
假设我通过以下方式存储了一个宏:
options mstored sasmstore=FOO;
%macro hello_world() / STORE SOURCE DES='hello world';
%put hello world;
%mend;
现在我想将此宏从库复制FOO
到库BAR
,我想要类似的东西(这显然不起作用):
%copy hello_world /source LIB = BAR;
这相当于做:
options mstored sasmstore=BAR;
%macro hello_world() / STORE SOURCE DES='hello world';
%put hello world;
%mend;
目标是方便地将宏从开发库复制到生产库。我怎样才能做到这一点 ?
解决方案
Proc CATALOG
用于将条目从一个成员复制到另一个成员
%macro One;
%put ONE;
%mend;
proc catalog catalog=work.sasmacr;
copy out=work.holdmacr;
select one / et=macro;
run;
复制条目的替代方法是使用自动提供的连接功能LIBNAME
。
来自 SAS 帮助
示例 3:连接 SAS 目录
此示例通过指定每个 SAS 库的物理文件名来连接三个 SAS 库,并将 libref ALLMINE 分配给连接的库:
libname allmine ('file-1' 'file-2' 'file-3');
如果每个库都包含一个名为 MYCAT 的 SAS 目录,则使用 ALLMINE.MYCAT 作为 libref.catref 可以访问存储在名为 MYCAT 的所有三个目录中的目录条目。要在逻辑上连接具有不同名称的 SAS 目录,请参阅 CATNAME 语句。
如果相同名称的目录包含相同名称的条目,则使用最早的库中的条目。
这在单元测试期间非常方便,因为在证明更新没有损坏之前不必更改原始文件。你有集成单元测试吗?;-)
推荐阅读
- python - 将N维numpy数组展平,形成K维数组(K≠1,K
假设我有一个三维数组,我将其称为
A
,其中第一维等于 N。如何找到B
,相当于:np.concatenate((A[0],A[1],A[2],...,A[N-1]),axis=1)
例如,假设我有:
A = np.array([[[1,2,3,4],
- pointers - 更改通过引用传递的结构的值
- mysql - 创建 MySQL 存储过程时出错
- editor - Alchemy CMS - 管理 UI - 编辑器 - 显示在所有页面区域
- excel - 添加评论时的条件格式
- php - 通过他们在 laravel 中的帖子获取类别顺序
- c++ - 除了内存分配之外,创建带有“new”和没有“new”的指针之间的区别?
- sql - 系统版本化的时态表中的 AS OF 子句如何工作?
- php - 防止普通用户进入管理页面
- django - django(2.0.8)通用视图中的内联表单集工厂