我正在學習新的RSUBMIT,並且發現當我使用數據語句執行rsubmit時,它不會在set語句中使用本地庫?在程序語句中使用本地庫的SAS程序
我們該如何處理?
我的代碼
signon server;
rsubmit;
data x;
set loca.mydata ;run;
endrsubmit;
,這將引發錯誤說
ERROR: Libref loca is not assigned.
應該SET語句數據集也存在於遠程庫?
我正在學習新的RSUBMIT,並且發現當我使用數據語句執行rsubmit時,它不會在set語句中使用本地庫?在程序語句中使用本地庫的SAS程序
我們該如何處理?
我的代碼
signon server;
rsubmit;
data x;
set loca.mydata ;run;
endrsubmit;
,這將引發錯誤說
ERROR: Libref loca is not assigned.
應該SET語句數據集也存在於遠程庫?
當您提交一些代碼時,您基本上將它從其他地方發送到其他地方進行處理,意味着遠程服務器上沒有任何本地分配。用你的「失水」庫
的一種方式是,一旦你重新分配它的R-提交的代碼:
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」。我已經展示的兩種方法也可以讓你做到這一點。
哇..這inheritlib選項是驚人的。我不必將數據移動到服務器。謝謝 – user3658367
我很高興解決方案爲你工作。您也可以查看宏函數「%syslput」和「%sysrput」,它們允許您向/從遠程服務器發送和接收宏變量。附:如果上面的答案是正確的,請接受爲答案:) –
INHERITLIB是否有任何限制 - 特別是,服務器是否必須通過共享訪問庫,或者SAS/CONNECT是否下載/上傳數據? – Joe
嘿,如果您對答案感到滿意,請選擇適當的方式,請爲我的利益和其他用戶尋找正確的答案。 –