楼主: tiaotiaotang
11627 8

怎么用PROC append 实现批量纵向合并? [推广有奖]

  • 1关注
  • 3粉丝

已卖:2份资源

博士生

37%

还不是VIP/贵宾

-

威望
0
论坛币
2945 个
通用积分
0
学术水平
2 点
热心指数
2 点
信用等级
2 点
经验
4186 点
帖子
119
精华
0
在线时间
378 小时
注册时间
2007-12-14
最后登录
2025-1-12

楼主
tiaotiaotang 发表于 2011-11-28 13:34:34 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
请教高手:怎么用PROC append 实现批量纵向合并?假设有N个表(N未知)结构一样,如何按时间纵向合并?谢谢
二维码

扫码加我 拉你入群

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

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

关键词:append Pen End App ROC 如何

本帖被以下文库推荐

沙发
soporaeternus 发表于 2011-11-28 14:37:39
除非有某个表非常大,否则还是set比较方便
楼主的要求可以用宏
Let them be hard, but never unjust

藤椅
bobguy 发表于 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;

报纸
bobguy 发表于 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.

地板
tiaotiaotang 发表于 2011-12-7 15:41:28
用SET做了一下,谢谢大家的回复了

7
chendonghui1987 发表于 2012-3-3 21:24:43
顶楼主,我也需要

8
喵咪绕梁 发表于 2013-9-21 12:17:30
楼主好棒!

9
shining.co 发表于 2017-4-6 11:46:37
可~乐 发表于 2011-12-4 10:35
%macro data;
data all;
set %do j=1 %to 4; data&j. %end;;/*注意此处有两个分号,而%end前没有分号,se ...
实用!!厉害

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-28 20:16