全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
4171 3
2013-10-07
求问各位大虾:
proc append base=data data=test;run;
如果数据test为空数据集,则不追加到data数据集,应该加怎样的判断?
我在做批量数据处理的过程中,唯独该过程所花时间最多。故,想追加
前,先判断数据集test是否是空数据集。同时,也网上搜过关于该判断的
帖子,基本上都是用proc sql过程进行判断的,在效率上不是很可取。
谢谢,各位大虾!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2013-10-8 07:07:37
You need a simple macro. Here is one.

%macro append(base=, data=);
data _null_;
   call symputx('nobs',nobs);
   stop;
   set &data nobs=nobs;
run;

%if &nobs ge 1 %then %do;
    proc append base=&base data=&data; run;
%end;
%else;
%mend;

data t2;
  set sashelp.class;
  run;

data t1;
  set sashelp.class(obs=0);
  run;
%append(base=t2, data=t1)

data t1;
  set sashelp.class(obs=10);
  run;
%append(base=t2, data=t1)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-10-9 18:04:17
bobguy 发表于 2013-10-8 07:07
You need a simple macro. Here is one.

%macro append(base=, data=);
谢谢,受大侠启发,问题已解决!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-10-9 22:30:30
bobguy 发表于 2013-10-8 07:07
You need a simple macro. Here is one.

%macro append(base=, data=);
这个%else的写法很新颖,这样的意思,就是如果是else的话,程序就不执行,直接跳出macro吗?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群