SAS合并多个表

时间:2017-11-21 06:55:40

标签: sas

我想知道合并多个表的最佳方法是什么。我在所有表中都有唯一的标识符。我应该在排序表后一步加入所有表,还是应该逐步逐步合并表。 这有关系吗?

2 个答案:

答案 0 :(得分:2)

您可以一步完成多次合并。但是,这不是最安全的方式。如果您的数据可能存在不完善之处,最好一步一步地执行此操作。 Imho,当时最好合并一个步骤,但这是你的电话。

proc sort data=data1; by id; run;
proc sort data=data2; by id; run;
proc sort data=data3; by id; run;

data combo;
    merge data1(in=a) data2(in=b) data3(in=c); 
    by id; 
    if a and b and c; /*Inner join. Change as needed. */
run;

这相当于:

data partial;
    merge data1(in=a) data2(in=b);
    by id; 
    if a and b; 
run;

data combo;
    merge partial(in=a) data3(in=b);
    by id; 
    if a and b;
run,

答案 1 :(得分:0)

没有特别的理由一步一步地做到这一点,除非你有一个与你关注解决的冲突的变量名称,或者你的组合逻辑很复杂而且你#&# 39;再担心会弄乱一些东西。无论如何,没有任何功能原因。 SAS中的join实际上比SQL中的org.apache.axis2.AxisFault: Invalid white space character (0x4) in text to output (in xml 1.1, could output as a character entity)更简单,特别是因为语法更简单,所以它与SQL案例有些不同。