SASライブラリメンバの存在を確認します。
| カテゴリ: | SASファイルI/O |
SASライブラリメンバを指定する文字定数、変数または式です。member-nameが空白またはNULL文字列の場合、EXISTはメンバ名として_LAST_システム変数の値を使用します。
SASライブラリメンバの種類を指定する文字定数、変数または式です。一般的なメンバの種類には、ACCESS、CATALOG、DATA、VIEWなどがあります。member-typeを指定しない場合、メンバの種類はDATAとみなされます。
存在を確認するSASデータセットの世代番号を指定する数値定数、変数または式です。member-typeがDATA以外の場合、generationは無視されます。
%let dsname=sasuser.houses; %macro opends(name); %if %sysfunc(exist(&name)) %then %let dsid=%sysfunc(open(&name, i)); %else %put Data set &name does not exist.; %mend opends; %opends(&dsname);
data _null_;
dsname="test.myview";
if (exist(dsname, "VIEW")) then
dsid=open(dsname, "i");
else put dsname 'does not exist.';
run;data new(genmax=3);
x=1;
run;
data new;
x=99;
run;
data new;
x=100;
run;
data new;
x=101;
run;
data _null_;
test=exist('new', 'DATA', 4);
put test=;
test=exist('new', 'DATA', 3);
put test=;
test=exist('new', 'DATA', 2);
put test=;
test=exist('new', 'DATA', 1);
put test=;
run;test=1 test=1 test=1 test=0
data new2(genmax=3);
x=1;
run;
data new2;
x=99;
run;
data new2;
x=100;
run;
data new2;
x=101;
run;
data _null_;
test=exist('new2', 'DATA', 0);
put test=;
test=exist('new2', 'DATA', -1);
put test=;
test=exist('new2', 'DATA', -2);
put test=;
test=exist('new2', 'DATA', -3);
put test=;
test=exist('new2', 'DATA', -4);
put test=;
run;test=1 test=1 test=1 test=0 test=0