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 で他の一般的なタスクを実行する方法について説明します。

SAS でデータセットを削除する方法
SAS で変数の名前を変更する方法
SAS で新しい変数を作成する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です