SAS判断一个数据集是否存在

在创建数据集的时候,有时需要判断数据集是否存在。
在SAS的帮助文档找到方法;
通过定义,并调用宏的方式实现。

定义一个宏:

%macro checkds(data_set);
  %if %sysfunc(exist(&data_set)) %then %do;
    %put "Data set &data_set. is already exists !";
  %end;
  %else %do;
    %put "Data set &data_set. does not exist !";
    run;
  %end;
%mend checkds;
  • 请求宏:
%checkds(work.a)
  • 日志界面会打印:相应指定的输出。

"Data set work.a does not exist !"

  • 创建数据集
data a;
  a=1;
run;
  • 请求宏:
%checkds(work.a)
  • 日志

"Data set &data_set. is already exists !"

扩展使用,宏是SAS编程过程中的常用技术,[%sysfunc]中可以使用SAS中大部分内置函数,不过[%if]后可以编写自定义函数,且将[ %put "...!";]替换成自需要的data step 或者 proc step,已达到使用的目的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容