横向拼接最好指定主键,否则set拼接可能出错
比较推荐:
PROC SQL; CREATE TABLE S.E AS SELECT * FROM C LEFT JOIN A ON C.NAME=A.NAME; QUIT;/*实现数据集的横向合并,变量不同时,表现为缺失值*/
DATA A12;
SET A1 A2;
RUN;
/*实现数据集的纵向合并,取观测较少者*/
DATA A12;
SET A1;
SET A2;
RUN;
APPEND:实现数据集的追加,纵向追加
proc append base=master data=add force;
run;
1.为了增加append过程的效率,最好将较大数据量的数据集作为base。
2.master与add的变量个数与属性最好相同,否则以master规定的变量类型为主,出现add变量的长度的截取
3.可以添加选项force,但是为了减少出现错误或减少warning,尽量少用force选项,而是尽量保证两个数据集有完全相同的变量和格式。
MERGE
详细解说见
http://blog.sina.com.cn/s/blog_dd08c3b70102veuk.html