2016-03-29 2 views
1

私はRSUBMITを新たに学びました。データステートメントでrsubmitを実行すると、setステートメントでローカルライブラリを使用しないことがわかりましたか?setステートメントのローカルライブラリを持つSASプログラム

これをどのように処理できますか?

私のコード

signon server; 

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

これは

ERROR: Libref loca is not assigned. 

をというエラーがスローされますが、設定されたステートメントのデータセットは、リモートライブラリに存在しなければなりませんか?

+0

あなたが答えに満足している場合は、私の利益と正しい答えを探している他のユーザーのために、適切に選択してください。 –

答えて

5

いくつかのコードを提出すると、基本的には別の場所からコードを送信して処理されます。つまり、リモートサーバー上にローカル割り当てが存在しないことを意味します。あなたの「LOCA」ライブラリを使用する

一つの方法は、あなたがしたら、それを再割り当てすることであろうR-提出コード:

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

第2の方法はinheritlib使用してセッション間でライブラリを共有するために、次のようになります。

signon server; 
rsubmit inheritlib=(LOCA=R_LOCA); 

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

どちらの場合も、リモートサーバーからデータセット「WORK.X」を取得する必要があります。私が示した両方の方法でもこれを行うことができます。

+0

うわー..このinheritlibオプションは素晴らしいです。私はサーバーにデータを移動する必要はありません。ありがとうございます – user3658367

+0

私はあなたのために働いてうれしいです。また、マクロ・ファンクション "%syslput"と "%sysrput"を見て、リモート・サーバとの間でマクロ変数を送受信することもできます。 p.s.上記の答えが正しい場合は、回答として受け入れてください:) –

+0

INHERITLIBには何らかの制限がありますか?特に、サーバーは共有経由でライブラリにアクセスする必要がありますか、SAS/CONNECTはデータをダウンロード/アップロードしますか? – Joe

関連する問題