본문 바로가기
SAS

[SAS] sas에서 left join 왼쪽데이터셋 기준 가로병합하는 방법(교집합되는 부분가져오는 경우)

by SASBIGDATA김진휘 2014. 4. 29.

sas에서 left join 왼쪽데이터셋 기준으로 가로병합하는 방법을 알아보자.

이경우는 공통된 교집합 부분을 포함하는 left join방법이다. 아래그림 참조 

 

위의 그래프 그림과 같이 가로병합을 하되 hwi1(왼쪽데이터셋)기준으로 가로결합을 하며

공통된 부분은 같이 따라오게 하는 방법이다.

 

1. data step

먼저 sort과정을 거쳐 merge를 하는 data step에서 하는 방법을 알아보자. 

가로 병합할 두개의 데이터셋의 키값(key)을 proc sort를 통해 정렬을 한다.

그리고 in이라는 데이터셋 옵션을 사용해서 if를 함께 이용해 in옵션에 임의의 변수명인 haha기준으로

merge를 하는 것이다. 아래 스크린샷 참조

 

 

 

2. proc sql

위와 같은 결과를 출력하는데 sort과정이 필요없는 sql문을 이용하는 방법을 알아보자.

간단하게 설명하면 left join이라는 옵션을 사용하고

on 옵션으로 임의의 변수인 haha와 kiki에서 key값이 같은 경우를 포함한다는 의미이다.

아래 스크린샷 코딩처럼 해도 결과는 깔끔하게 나오지만 이전에 소개했던

key변수 출력 문제해결방법인 coalesce를 사용해도 상관없다.

아래 코딩 참조.

select coalesce(haha.key,kiki.key)as key,
haha.code, kiki.score

from~ 아래사진 코딩과 동일함

 

 

www.sasbigdata.com 김진휘

 

 

댓글