SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 1432|回复: 6
打印 上一主题 下一主题

数据APPEND的问题

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2003-12-16 10:34:24 | 只看该作者

数据APPEND的问题

我有一个原始的数据库,假设为A,有n条记录,内容如下:
data a;
input datetime var1 var2 var3 var4 ……@@;
cards;
20030520082033 394 33 83 939 ……
……

run;
时间为年月日时分秒。
还有一个增量数据库B,有记录m条,其中m<n,而且B的m条记录就是A的前m条记录(A是按时间递增排序的),但是B只是选择了A的某些字段,包括字段datetime,现在我要根据datetime,在B后面增加n-m的记录。请问怎么加。

我现在的做法是
proc sql;
  create table temp as select datetime var1 var2 from A
  where datetime>(select max(datetime) from B);
quit;
proc append base=B data=temp force;
run;

不知道哪位大侠有什么更好的方法?
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2003-12-16 11:25:43 | 只看该作者
可以用data步程序即可实现:

proc sort data=a;
  by datetime;
run;

proc sort data=b;
  by datetime;
run;

data temp;
  update b a;
  by datetime;
run;
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2003-12-16 13:52:45 | 只看该作者
谢谢!可能我没有说清楚,
我的实际问题是,我的机组机每天会有数据生成,就是A表,它每天会增加数据,而我的主机每天晚上要读取它的数据,其实就是将它新增的数据读到表B中。可是,表B并不是将所有A采集的字段取出来,只需要一部分字段。

上面那位,您的方法似乎将A的所有字段都取下来了。这个不行,将所有字段都取下来了。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2003-12-16 13:54:32 | 只看该作者
最最关键的是,要对A排序,那简直是要死人的!太慢了。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
5#
 楼主| 发表于 2003-12-16 14:01:02 | 只看该作者
sql语言好像比较慢,哪位大侠能全用data步做??
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
6#
 楼主| 发表于 2003-12-16 17:10:44 | 只看该作者
[quote="apan":e108f]谢谢!可能我没有说清楚,
我的实际问题是,我的机组机每天会有数据生成,就是A表,它每天会增加数据,而我的主机每天晚上要读取它的数据,其实就是将它新增的数据读到表B中。可是,表B并不是将所有A采集的字段取出来,只需要一部分字段。

上面那位,您的方法似乎将A的所有字段都取下来了。这个不行,将所有字段都取下来了。[/quote:e108f]
应该写进A表的时候,就直接写进B表。这样的方式还好一些。
别的方式。随着A,B表的数据的增加。会越来越慢的。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
7#
 楼主| 发表于 2003-12-17 08:12:47 | 只看该作者
我想过呀,可是第一,领导一定要我去取数据,她说这样安全;第二,管理机组的人叫我不要给他们增加负担。所以……
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2024-6-2 03:36 , Processed in 0.118584 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表