前のページ|次のページ

FETCH関数

SASデータセットから次の非削除対象のオブザベーションをデータセットデータベクトル(DDV)に読み込みます。

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

構文

必須引数

data-set-id

OPEN関数によって返されたデータセット識別子を指定する数値変数です。

オプション引数

'NOSET'

SETルーチンが呼び出された場合でも、SASデータセットの変数値がマクロ変数またはDATAステップ変数に自動的に渡されないようにします。

詳細

FETCHは操作が成功した場合は0、失敗した場合は≠0、データセットの終わりに達した場合は-1を返します。FETCHは削除対象としてマークされたオブザベーションをスキップします。
SETルーチンを以前に呼び出したことがある場合、データセット変数の値がDDVから対応するDATAステップ変数またはマクロ変数に自動的に渡されます。フェッチした値がDATAステップ変数またはマクロ変数に自動的にコピーされないようにこの動作を一時的に無効にするには、NOSETオプションを使用します。

この例では、SASデータセットMYDATAから次のオブザベーションをフェッチします。データセットの終わりに達した場合やエラーが発生した場合、SYSMSGは適切なメッセージを取得してSASログに書き込みます。マクロステートメントでは、文字列を引用符で囲む必要はありません。
%let dsid=%sysfunc(open(mydata, i));
%let rc=%sysfunc(fetch(&dsid));
%if &rc ne 0 %then
  %put %sysfunc(sysmsg());
%else
   %do;
      ... more macro statements ...
   %end;
%let rc=%sysfunc(close(&dsid));

関連項目:

CALLルーチン:
前のページ|次のページ|ページの先頭へ