作者KnightX (........)
看板Statistics
标题Re: [问题] SAS中使用SQL与MERGE合并资料
时间Wed Nov 16 21:46:42 2011
※ 引述《liton (欧吉桑留学生)》之铭言:
: 以SQL写的话 产出会符合我的需求
: 但有办法用MERGE PROCESS写吗??(因为一些缘故 必须用MERGE写)
如同前面推文 A 大给了 point 的提示,
以下这样写应该可以达到多对多合并的结果:
data B_idx;
keep Common B_from B_to;
retain B_from;
set B (keep=Common);
by Common;
if first.Common then B_from = _N_;
if last.Common then do;
B_to = _N_;
output;
end;
run;
data AB (keep=Common Column_A Column_B);
merge A B_idx;
by Common;
do i = B_from to B_to;
set B point=i;
output;
end;
run;
我觉得还是用 SQL 去写比较简单也比较有效率一点~!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.240.33.35
※ 编辑: KnightX 来自: 111.240.33.35 (11/16 21:48)
1F:推 liton: cartesian product 这麽复杂@@ 11/16 22:52
2F:推 imaltar:如果Common不是全都是1 例如是1 ,2 好像就没有product 11/17 09:23
3F:推 imaltar:我说的是Common 如果不是都是M,而是F,M 结果还是两笔 11/17 10:08