2016-07-13 2 views
0

두 데이터 세트가 있는데 SQLlef join 접근 방식을 사용했다면 완료 될 것처럼 병합하려고합니다.SAS에서 두 개의 데이터 세트를 병합합니다. 병합 된 데이터의 변수를 선택하는 방법은 무엇입니까?

이 나는이 코드를 만들었습니다

Data final_dataset; 
merge table_1 (in=a) table_2; 
if a=1; 
keep Var1 Var2 Var3 Var4 Var5; 
run; 

문제는 두 데이터 세트에 내가 같은 이름의 변수를 가지고있다. 예를 들어, Var1Var2은 모두 table_1table_2입니다. 그러나 병합 된 데이터는 Var1Var2부터 table_1까지의 변수 만 필요합니다. 어떻게해야합니까? 그것은 proc sql 인 경우

코드는 같은 것이다 :

proc sql; 
create table final_dataset 
as select 
A.Var1 A.Var2 B.Var3 B.Var4 B.Var5 
from table_1 as A left join table_2 as B 
on A.Var1 = B.Var1; 

하지만 SAS 언어를 배우려고 노력 그리고 난이 언어로 내가 원하는 걸 할 수있는 방법이 있는지 알고 싶어요 .

답변

1

일반적으로 병합하려면 BY 변수가 필요합니다. 데이터 집합 중 하나의 변수를 원하지 않으면 DROP = 또는 KEEP = dataset 옵션을 사용하여 데이터 집합을 제거하십시오. 두 변수에서 변수를 별도의 변수로 유지하려면 RENAME = dataset 옵션을 사용하십시오.

data final_dataset; 
    merge table_1 (in=in1 keep=var1 var2) 
     table_2 (keep=var1 var3 var4 var5) 
    ; 
    by var1; 
    if in1; 
run; 
관련 문제