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