Sas にデータセットが存在するかどうかを確認する方法 (例あり)
SAS で次のマクロを使用すると、データセットが存在するかどうかをすばやく確認できます。
%macro check_exists(data);
%if %sysfunc ( exist (&data.)) %then %do ;
%put Dataset Exists;
%end ;
%else %do ;
%put Dataset Does Not Exist;
%end ;
%mend check_exists;
このマクロを実行すると、データセットが存在する場合は「データセットが存在します」が返されます。
それ以外の場合は、「存在しません」が返されます。
次の例は、このマクロを実際に使用する方法を示しています。
例: SAS にデータセットが存在するかどうかを確認する
SAS にdata1という次のデータセットを作成するとします。
/*create dataset*/
data data1;
input hours score;
datalines ;
1 64
2 66
4 76
5 73
5 74
6 81
6 83
7 82
8 80
10 88
;
run ;
/*view dataset*/
proc print data =data1;

次のマクロを定義して、データセットが存在するかどうかを確認できます。
%macro check_exists(data);
%if %sysfunc ( exist (&data.)) %then %do ;
%put Dataset Exists;
%end ;
%else %do ;
%put Dataset Does Not Exist;
%end ;
%mend check_exists;
次に、このマクロを実行して、 data1というデータセットが存在するかどうかを確認します。
/*check if dataset called data1 exists*/
%check_exists (data1);
ログを表示すると、 data1が存在するため、マクロが Does Exist を返していることがわかります。

ここで、 data2というデータ セットが存在するかどうかを確認するマクロも実行するとします。
/*check if dataset called data2 exists*/
%check_exists (data2);
ログを見ると、 data2というデータセットが作成されていないため、マクロが Does Not Exist を返していることがわかります。

注: SAS のEXIST関数の完全なドキュメントはここで見つけることができます。
追加リソース
次のチュートリアルでは、SAS で他の一般的なタスクを実行する方法について説明します。