前のページ|次のページ

LIBNAME関数

SASライブラリのライブラリ参照名の割り当てを設定または解除します。

カテゴリ: SASファイルI/O

構文

LIBNAME(libref <, SAS-library <, engine <, options>>>)

必須引数

libref

SASライブラリに割り当てられるファイル参照名を指定します。

ヒント librefの最大長は8文字です。

オプション引数

SAS-library

ライブラリ参照名に関連付けるSASライブラリの物理名を指定します。この名前はホスト動作環境の要件に従って指定します。この引数はNULLにできます。

engine

データライブラリ内で開いたSASファイルにアクセスするために使用されるエンジンを指定します。SAS/SHAREサーバを指定する場合、engineの値はREMOTEにする必要があります。この引数はNULLにできます。

options

指定したエンジンの1つ以上の有効なオプションを空白で区切って指定します。この引数はNULLにできます。

詳細

リターンコードの基本情報

LIBNAME関数は、SASライブラリからのライブラリ参照名の割り当てまたは割り当て解除を実行します。LIBNAME関数で2つ以上の引数を使用すると、SASはライブラリ参照名の割り当てを試行します。1つの引数を使用すると、SASはライブラリ参照名の割り当て解除を試行します。リターンコードは、LIBNAME関数で使用する引数の値、およびライブラリ参照名が割り当てられるかどうかによって生成されます。
ライブラリ参照名を割り当てるとき、ライブラリ参照名が正常に割り当てられると、リターンコードは0になります。リターンコードがゼロ以外で、SYSMSG関数が警告メッセージまたはメモを返すと、割り当ては成功です。SYSMSG関数がエラーを返すと、割り当ては失敗です。
ライブラリ参照名がすでに割り当てられていて、ライブラリに別の名前を割り当てようとし、ライブラリ参照名が割り当てられた場合、LIBNAME関数はゼロ以外のリターンコードを返し、SYSMSG関数はメモを返します。

LIBNAMEに1つの引数がある場合

LIBNAMEに1つの引数がある場合、次のルールが適用されます。
  • ライブラリ参照名が割り当てられない場合、ゼロ以外のリターンコードが返され、SYSMSG関数は警告メッセージを返します。
  • ライブラリ参照名が割り当てられると、リターンコード0が返され、SYSMSG関数は空白値を返します。

LIBNAMEに2つの引数がある場合

LIBNAMEに2つの引数がある場合、次のルールが適用されます。
  • 第2引数がNULL、すべて空白または長さゼロの場合、SASはライブラリ参照名の割り当てを取り消そうとします。
  • 第2引数がNULLでなく、すべて空白でなく、長さゼロではない場合、SASはライブラリ参照名に指定したパス(第2引数)を割り当てようとします。
  • ライブラリ参照名が割り当てられない場合、ゼロ以外のリターンコードが返され、SYSMSG関数はエラーメッセージを返します。
  • ライブラリ参照名が割り当てられると、リターンコード0が返され、SYSMSG関数は空白値を返します。

LIBNAMEに3つまたは4つの引数がある場合

LIBNAMEに3つまたは4つの引数がある場合、次のルールが適用されます。
  • 第2引数がNULL、すべて空白または長さゼロである場合、結果は動作環境によって異なります。
  • 第2引数がNULLで、ライブラリ参照名が割り当て済みではない場合、ゼロ以外のリターンコードが返され、SYSMSG関数はエラーメッセージを返します。
  • 第2引数がNULLで、ライブラリ参照名がすでに割り当てられている場合、LIBNAMEは値0を返し、SYSMSG関数は空白値を返します。
  • 前述の条件の少なくとも1つが満たされない場合、SASはライブラリ参照名に指定したパス(第2引数)を割り当てようとします。
注: DATAステップでは、間に空白を含まない2つの連続する引用符で構成される文字定数は、長さ0の文字列ではなく単一空白と解釈されます。長さ0の文字列を指定するには、TRIM関数を使用します。
動作環境の情報: 一部のシステムでは、SAS-library値'' (一重引用符で囲んだ空白)を使用して、ライブラリ参照名を現在のディレクトリに割り当てることができます。その他のシステムでは、SAS-library値に空白のみが含まれている場合は、SASライブラリからライブラリ参照名の割り当てが解除されます。SAS-libraryに単一の空白が指定された場合のLIBNAMEの動作は、お使いの動作環境によって異なります。動作環境によっては、SASセッション以外のシステムコマンドを使用してライブラリ参照名を割り当てることが可能です。
Windows固有: Windows環境では、SAS-libraryを指定しない場合、またはSAS-libraryに' ' (一重引用符で囲んだ空白)または'' (間に空白の入らない一重引用符)を指定した場合、SASはライブラリ参照を割り当て解除します。

例1: ライブラリ参照名を割り当てる

この例では、SASライブラリMYLIBに新しいライブラリ参照名NEWを割り当てます。エラーまたは警告が発生すると、メッセージがSASログに書き込まれます。マクロステートメントでは、文字列を引用符で囲みません。
%if (%sysfunc(libname(new, MYLIB))) %then
  %put %sysfunc(sysmsg());

例2: ライブラリ参照名の割り当てを取り消す

この例では、前述の例でデータライブラリMYLIBに関連付けたライブラリ参照名NEWの割り当てを取り消します。エラーまたは警告が発生すると、メッセージがSASログに書き込まれます。マクロステートメントでは、文字列を引用符で囲みません。
%if (%sysfunc(libname(new))) %then
  %put %sysfunc(sysmsg());

例3: ライブラリを圧縮する

この例では、ライブラリ参照名NEWをMYLIBデータライブラリに割り当て、COMPRESSオプションを使用してライブラリを圧縮します。この例では、デフォルトのSASエンジンを使用します。DATAステップでは、文字列を引用符で囲みます。
data test;
   rc=libname('new', 'MYLIB', , 'compress=yes');
run;

関連項目:

前のページ|次のページ|ページの先頭へ