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,已达到使用的目的。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 123,411评论 18 134
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 160,242评论 24 690
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 7,784评论 6 13
  • 刘润老师:商业咨询顾问,前微软公司战略合作总监,现润米咨询CEO。得到《五分钟商学院》专栏主讲老师,今日得到直播,...
    另一种绅士阅读 996评论 3 11
  • 运动→精力 思维→脑力 静心→心力 劳作→命力 汇总→经验 安排→有序 →工作日不可少:运动+学习+脑子休息+劳作...
    秀ShirleyZ阅读 42评论 0 0
  • 也许生命就是这么的曲折往复,也许生命就是这么的扑朔迷离,也许生命就是这么的恬不知耻……也许生命本身就是一个笑话,一...
    珍山惜水阅读 76评论 0 1