SAS程序与set语句中的本地库

时间:2016-03-29 12:30:13

标签: sas

我正在学习RSUBMIT,我发现当我使用数据语句执行rsubmit时,它不会在set语句中使用本地库吗?

我们如何处理?

我的代码

signon server;

rsubmit;
data x; 
set loca.mydata ;run;
endrsubmit;

这引发错误说

ERROR: Libref loca is not assigned.

如果set语句数据集也存在于远程库中吗?

1 个答案:

答案 0 :(得分:5)

当您提交一些代码时,您基本上将其发送到其他地方以进行处理,这意味着远程服务器上不存在任何本地分配。

使用“LOCA”库的一种方法是在您提交代码后重新分配它:

signon server;
rsubmit;
libname LOCA "<path here>";
data x;
set loca.mydata; run;
endrsubmit;

第二种方法是使用inheritlib:

在会话之间共享库
signon server;
rsubmit inheritlib=(LOCA=R_LOCA);

data x;
set R_LOCA.mydata; run;
endrsubmit;

在这两种情况下,您还需要从远程服务器检索数据集“WORK.X”。我展示的两种方法也允许你这样做。