1

次の架空の libname 参照を別のものに変更して、別の共有ドライブを指すようにしようとしています。

libname mylibref '/u/mystuff/sastuff/work';

これは共有ドライブを参照しますk:\

そして、共有ドライブを指すように変更したいと思いm:\ます。

そのためにはどのように変更すればよい/u/mystuff/sastuff/workですか?私は Windows マシンを使用していますが、なぜこの SAS ライブラリ名が Unix 形式なのかわかりません。私は SAS で書かれたいくつかのプロジェクトを引き継ぎましたが、この特定の参照形式にあまり慣れていませんでした...

4

3 に答える 3

1

Unix libname の場合、コードが Unix SAS サーバーにリモート送信されるように設計されている可能性があります。

例えば

/* ローカル コード - PC で処理 */
libname ローカル 'c:\temp' ;
データ local.test ;
  do i = 1 から 100 ;
    出力;
  終わり ;
走る ;

rsubmit ;
  /* リモートコード - サーバー上で処理 */
  libname unix '/u/user/stuff' ;
  データunix.test;
    do i = 1 から 100 ;
      出力;
    終わり ;
  走る ;
エンドサブミット;
于 2013-03-08T12:04:50.073 に答える
0

SASは、その構文に非常に役立ち、ユーザーの生活を楽にすることを試みますが、混乱を招く場合があります。これは良い例です。

現在のlibnameステートメントのスラッシュは、SASセッションの現在のデフォルトのWindowsドライブ上のパスとして解釈されます。これは、明らかにあなたの場合はドライブKであり、次のようになります。

libname mylibref 'K:\u\mystuff\sastuff\work';

したがって、librefをMドライブに変更するには、新しいlibnameステートメントを送信するだけです。

libname mylibref 'M:\u\mystuff\sastuff\work';
于 2013-03-08T15:25:23.093 に答える
0

ウィンドウでスラッシュを使用できることを覚えておく価値があるため、次のようなものをエラーなしで実行する必要があります。

libname mylibref 'M:/u/mystuff/sastuff/work';

逆 (バックスラッシュ\on\unix) は機能しません!

ただし、M ドライブから unix へのマウント ポイントがない限り、これが実際に機能するかどうかはわかりません。

于 2013-03-10T23:21:41.183 に答える