全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
11532 8
2011-11-28
请教高手:怎么用PROC append 实现批量纵向合并?假设有N个表(N未知)结构一样,如何按时间纵向合并?谢谢
二维码

扫码加我 拉你入群

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

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

全部回复
2011-11-28 14:37:39
除非有某个表非常大,否则还是set比较方便
楼主的要求可以用宏
二维码

扫码加我 拉你入群

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

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

2011-12-3 06:51:21
Yes. In this case, it is better to use set statement.

data t1 t2 t3 t4;
   n=ranuni(0)*10;
   do i=1 to n;
      output;
   end;
run;

proc sql print;
  select memname into: dnslist separated by ' ' from dictionary.tables
  where libname='WORK' and memname 'T%';
  %put &dnslist;
  quit;

  data all;
     set &dnslist;
  run;
      
   
二维码

扫码加我 拉你入群

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

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

2011-12-4 10:35:28
%macro data;
data all;
set %do j=1 %to 4; data&j. %end;;/*注意此处有两个分号,而%end前没有分号,set可以换成merge等*/
run;
%mend data;
二维码

扫码加我 拉你入群

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

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

2011-12-5 01:22:45
soporaeternus 发表于 2011-11-28 14:37
除非有某个表非常大,否则还是set比较方便
楼主的要求可以用宏
In this case using 'set' is better.

Here is the reasons.

Set open N data sets once.

Append needs to kick off N times 'append procedure' which may result in taking much more time.

二维码

扫码加我 拉你入群

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

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

2011-12-7 15:41:28
用SET做了一下,谢谢大家的回复了
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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