SAS 8.1 上の長い変数名を含むデータセットをV6.x から処理が可能でしょうか
[OS]ALL
[リリース] 6.x 8.1
[キーワード] VALIDVARNAME, LONGNAME, VARIABLE, UPLOAD, DOWNLOAD, V6 RENGINE, V8 RENGINE
[質問]
リモートマシン(V6)、ローカルマシン(V8)でSAS/CONNECTを使って処理を行っています。
[回答]
UPLOADプロシジャを使って、ローカルマシンのSASデータセットをリモートマシンにコピーしていただければ可能です。
<例>
OPTIONS VALIDVARNAME = v7 ; /* VALIDVARNAMEオプションは「v7」指定 */ RSUBMIT ; LIBNAME v6lib 'c:\data\v6lib' ; PROC UPLOAD INLIB = v8lib OUTLIB = v6lib ; RUN ; ENDRSUBMIT ;
リモートマシンのSASライブラリにアップロードされる時、8バイトを超える変数名は全て8バイトで切り捨てられます。8バイトで切り捨てた結果、同じ変数名が発生してしまう場合、最後の桁を「連番」にすることで同じ変数名にならないようにします。
逆にリモートマシン(V8)、ローカルマシン(V6)の構成で、リモートマシンにある長い変数名のSASデータセットをローカルマシンで処理する場合、DOWNLOADプロシジャを使ってコピーする必要があります。
<例>
LIBNAME v6lib 'c:\data\v6lib' ; RSUBMIT ; OPTIONS VALIDVARNAME = v7 ; LIBNAME v8lib 'c:\data\v8lib' ; PROC DOWNLOAD INLIB = v8lib OUTLIB = v6lib ; RUN ; ENDRSUBMIT ;8バイトを超える長い変数名は、UPLOADの時と同様に切り捨てが行われます。
|