如何检查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);
当我们查看日志时,我们可以看到宏返回Does Exist,因为data1确实存在:
现在假设我们还运行宏来检查名为data2的数据集是否存在:
/*check if dataset called data2 exists*/
%check_exists (data2);
当我们查看日志时,我们可以看到宏返回不存在,因为从未创建名为data2的数据集。
注意:您可以在此处找到 SAS 中EXIST函数的完整文档。
其他资源
以下教程解释了如何在 SAS 中执行其他常见任务: