我是SAS的新手。我花了一些时间为我的问题寻找解决方案。不幸的是,我找不到任何东西。我非常感谢你的帮助。问题其实很简单。
我有两个不同长度的不同数据集(我们称之为dat1和dat2)。而且,它们都有一个我感兴趣的变量X.我正在寻找一种方法来找到这两列的常用值(让我们称之为dat1_X和dat2_X)。数据集相当大,大约有1000万次观测。
答案 0 :(得分:0)
有很多方法!
如果一个数据集很小,效率问题,您可以考虑使用哈希表(或格式)执行查找,同时通过较大的数据集。
否则,以下SQL方法将起作用(尝试测试以查看哪个最有效):
/* correlated subquery (generally slow) */
proc sql;
create table want1 as
select distinct x
from dat1_x
where x in (select from dat2_x);
/* inner join */
proc sql;
create table want2 as
select distinct a.x
from dat1_x a, dat2_x b
where a.x=b.x;
/* intersect */
proc sql;
create table want3 as
select x
from dat1_x
intersect
select x
from dat2_x;