楼主: tiaotiaotang
10987 8

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

  • 1关注
  • 3粉丝

准贵宾(季)

博士生

37%

还不是VIP/贵宾

-

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

+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
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-23 19:37