数据的合并分为多种形式,常见的有a and b(inner join), a or b(full join), left join 和right join.
其合并的形式如图所示:
假设已导入数据TABLEA和TABLEB,对于Inner join(a and b),data步和sql语句都可以完成。
DATA步:
/*************首先要sort一下数据*************/
proc sort data=TABLEA out=TABLEA_new;
by ID;
run;
proc sort data=TABLEB out=TABLEB_new;
by ID;
run;
/********sort完之后再进行merge***********/
data MERGE;
merge TABLEA_new(in=a) TABLEB_new(in=b);
by ID;
if a and b;
run;
/********完成以上步骤之后就可以进行数据导出**********/
proc print data=MERGE;
run;
使用SQL语句进行Merge的方法:
proc sql;
create table merge as
select * from TABLEA
inner join TABLEB
on TABLEA.ID=TABLEB.ID;
quit;
对于a or b(full join), left join 和right join,可把上文的sql语句中的inner join替换为full join / left join / right join.