全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1064 4
2018-04-20
请教各位前辈:数据删除的问题?
有2个数据集,aa和bb,在aa数据集中删除与bb数据集相同的观测。
data  aa;
input  a;
cards;
12345
11111
22222
23456
;
run;

data  bb;
input  b;
cards;
33333
11111
22222
;
run;

proc sql;
   create table c as
select * from aa
where not exists
(select * from bb where
aa.a=b );
quit;

问题是:在aa数据集中有千万条观测,bb数据集也有万条,用上面的方法速度非常慢,请教还要什么好方法吗?
谢谢!!
二维码

扫码加我 拉你入群

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

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

全部回复
2018-4-20 14:22:16
在proc sql;之前先对数据排序一下 ,速度就会快很多!
二维码

扫码加我 拉你入群

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

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

2018-4-20 18:56:26
1. SQL+except了解一下?
2. 还不行看看data步的hash table?
二维码

扫码加我 拉你入群

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

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

2018-4-22 23:59:17
把两个数据集先并起来,再删除就好点吧。
二维码

扫码加我 拉你入群

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

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

2018-5-2 16:54:31
两个数据集纵向合并 +  sort 语句 的一个选项  便可删除
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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