SAS拆分/合并文件分成两个单独的文件

时间:2014-04-14 06:45:31

标签: merge sas subset

我有2个文件是主文件(" master")和ID列表(" list")。我想将主文件分成两个子集:A - 包含文件中具有ID的观察结果" list"和B - 包含没有ID不在文件"列表"中的观察结果。 例如:

MASTER:
ID     Colour
1      Red
2      Yellow
3      Blue
4      Green
5      Purple
6      Orange
7      Black
8      White

LIST:
ID
1
2
3

因此,

A:
ID     Colour
1      Red
2      Yellow
3      Blue

B:
ID     Colour
4      Green
5      Purple
6      Orange
7      Black
8      White

因此,我最终会在A +数字中阻止数字障碍B =数字障碍在"主人"

我必须在下面的文件中添加哪些if条件才能实现此目的? (这个例子非常简单,实际上我有超过7万个唯一ID)

data A;
merge master (in=a) list (in=b);
if a=? and b=?;
by ID;
run;

data b;
merge master (in=a) list (in=b);
if a=? and b=?;
by ID;
run;

1 个答案:

答案 0 :(得分:5)

data in_list not_in_list;
 merge master (in=a) 
       list   (in=b)
       ;
 by ID;
 if b then output in_list;
 else output not_in_list;
run;