r******n 发帖数: 54 | 1 经常遇到这种情况,好几个data sets。有共同的id,但是每个data sets里这个id可能
有重复好几个records。现在要从其中一个data set找出符合条件的id,比如说都是女
性的id。然后用这个女性的id条件,到别的data set里面取records。
大家一般用什么方法和步骤最有效?
我一般都是先从一个data set里面找出都是女性的id,然后用merge的方法到别的data
sets里找其他的records。
有时候可能更复杂一点,到别的data set里找records的时候,也要符合一定的条件。
总结一下,就是多个data sets, many to many的合并的问题。
欢迎有经验的人谈谈自己是怎么处理的,什么方法更有效。互相学习。谢谢 |
d*****n 发帖数: 65 | 2 SQL也行,但是我觉得merge和in这样是最快的了
data
【在 r******n 的大作中提到】 : 经常遇到这种情况,好几个data sets。有共同的id,但是每个data sets里这个id可能 : 有重复好几个records。现在要从其中一个data set找出符合条件的id,比如说都是女 : 性的id。然后用这个女性的id条件,到别的data set里面取records。 : 大家一般用什么方法和步骤最有效? : 我一般都是先从一个data set里面找出都是女性的id,然后用merge的方法到别的data : sets里找其他的records。 : 有时候可能更复杂一点,到别的data set里找records的时候,也要符合一定的条件。 : 总结一下,就是多个data sets, many to many的合并的问题。 : 欢迎有经验的人谈谈自己是怎么处理的,什么方法更有效。互相学习。谢谢
|
r******n 发帖数: 54 | 3 恩,我一般也是用merge和in。只是这个办法似乎看起来效率很不高的样子,因为要分
好多子data sets,然后一个一个merge。不知道sql怎么做比较好? |
r******n 发帖数: 54 | 4 恩,我一般也是用merge和in。只是这个办法似乎看起来效率很不高的样子,因为要分
好多子data sets,然后一个一个merge。不知道sql怎么做比较好? |
d*****n 发帖数: 65 | 5 sql效率最低了。
能用data步的话,我觉得肯定不要选择sql。
而且貌似sql有时候会丢一些obs,很奇怪。
【在 r******n 的大作中提到】 : 恩,我一般也是用merge和in。只是这个办法似乎看起来效率很不高的样子,因为要分 : 好多子data sets,然后一个一个merge。不知道sql怎么做比较好?
|
s******r 发帖数: 1524 | 6 也许你该安装一些补丁了。SAS的补丁不是一般的多。
但我还是喜欢用sql.不用创建一堆dataset,不用sort来sort去。用不同变量merge,不
要sort好几遍。尤其是大量数据,sort更是痛苦。
比较了很多次,我还是喜欢用SQL.
【在 d*****n 的大作中提到】 : sql效率最低了。 : 能用data步的话,我觉得肯定不要选择sql。 : 而且貌似sql有时候会丢一些obs,很奇怪。
|
G**S 发帖数: 1108 | 7 sql would be the best option here.
data
【在 r******n 的大作中提到】 : 经常遇到这种情况,好几个data sets。有共同的id,但是每个data sets里这个id可能 : 有重复好几个records。现在要从其中一个data set找出符合条件的id,比如说都是女 : 性的id。然后用这个女性的id条件,到别的data set里面取records。 : 大家一般用什么方法和步骤最有效? : 我一般都是先从一个data set里面找出都是女性的id,然后用merge的方法到别的data : sets里找其他的records。 : 有时候可能更复杂一点,到别的data set里找records的时候,也要符合一定的条件。 : 总结一下,就是多个data sets, many to many的合并的问题。 : 欢迎有经验的人谈谈自己是怎么处理的,什么方法更有效。互相学习。谢谢
|
r******n 发帖数: 54 | 8 Can you show some exapmle?
I doubt sql would be the best option.
Because it will do a cartesian product of two tables instead of matched
merge.
correct me if I am wrong.
thanks
【在 G**S 的大作中提到】 : sql would be the best option here. : : data
|
d*****n 发帖数: 65 | 9 sql是挺简洁的,也不错。
只是我有时候觉得data step也可以写的比较简单而且快。
关于sas补丁的问题,我下载过一个600多M的貌似叫什么sp4的,是不是就可以了?
【在 s******r 的大作中提到】 : 也许你该安装一些补丁了。SAS的补丁不是一般的多。 : 但我还是喜欢用sql.不用创建一堆dataset,不用sort来sort去。用不同变量merge,不 : 要sort好几遍。尤其是大量数据,sort更是痛苦。 : 比较了很多次,我还是喜欢用SQL.
|
s******r 发帖数: 1524 | 10 我不清楚够不够,多半不够。tech ppl帮我装了6,7个吧。
在灵活度方面,data step 是望尘莫及的。但是SAS sql也有很多问题,那就是看上去
是SQL,其实不是。所以有时SQL很容易做到的事,SAS SQL却很难。
【在 d*****n 的大作中提到】 : sql是挺简洁的,也不错。 : 只是我有时候觉得data step也可以写的比较简单而且快。 : 关于sas补丁的问题,我下载过一个600多M的貌似叫什么sp4的,是不是就可以了?
|
s******r 发帖数: 1524 | 11 data test1;
input x;
datalines;
1
2
3
;
run;
data test2;
input y $1.;
datalines;
a
b
c
;
run;
proc sql;select x, y from test1 cross join test2;run;quit;
【在 r******n 的大作中提到】 : Can you show some exapmle? : I doubt sql would be the best option. : Because it will do a cartesian product of two tables instead of matched : merge. : correct me if I am wrong. : thanks
|
d*****n 发帖数: 65 | 12 好
多谢,我去找找
【在 s******r 的大作中提到】 : 我不清楚够不够,多半不够。tech ppl帮我装了6,7个吧。 : 在灵活度方面,data step 是望尘莫及的。但是SAS sql也有很多问题,那就是看上去 : 是SQL,其实不是。所以有时SQL很容易做到的事,SAS SQL却很难。
|