sas에서 두개의 데이터셋 left join후 우측데이터 부분 모두 제거하는 방법을 알아보자.
글로써는 잘 이해가 되지 않으므로 아래의 그림을 통해 어떻게 조인할 것인지 확인하자.
위 그림처럼 hwi1 데이터셋과 hwi2 데이터셋을 left join을 하는데 hwi2에 해당하는 데이터셋은 제거하고
hwi1의 데이터만 추출하는 것이다. 그림처럼 hwi1과 hwi2의 공통되는 부분또한 hwi2에도 포함되므로 제거가 된다.
hwi1의 단독데이터만 추출한다고 보면 될 것 같다.
data step구문과 sql구문 두가지 방법을 사용해서 코딩을 해보자.
아래의 코딩 사진 처럼 data step과 sql코딩을 따라가면 우리가 원하는 결과를 추출할 수가 있다.
당연히 구문만 다를 뿐 결과는 같은 결과를 추출한다.
[코딩사진]
위의 사진에서 data step의 아래부분 쪽에 if 구문에서 =^ 이 기호는 같지 않다는 것인데
영문으로 같은 의미인 ne를 사용하여도 무방하다. ne는 not equal이라는 뜻을 가진 줄임말
[결과 사진]
아래의 사진은 결과창을 보여주는 것이다.
hwi1과 hwi2데이터셋을 위와 같이 코딩하면 아래의 2개의 관측치와 3개의 변수를 가진 데이터셋이 출력이 된다.
hwi1과 hwi2의 데이터셋의 합하면 모두 5개의 관측치와 3개의 변수를 가진 데이터셋이 나오게 되는데 거기에서
hwi2가 포함되는 부분이 제거되고 hwi1의 단독 데이터만 추출된다고 생각하면 아래의 결과와 일치하게 된다.
sasbigdata.com 김진휘
'SAS' 카테고리의 다른 글
[SAS] sas에서 그룹별로 각각 두 개 이상 변수에 특정값이 포함된 경우 추출하는 방법 (0) | 2014.05.14 |
---|---|
[SAS] sas에서 그룹별로 순서대로 번호 매기는 방법 (2) | 2014.05.13 |
[SAS] sas에서 그룹별로 특정값이 있는 경우 체크하는 방법 (0) | 2014.05.09 |
[SAS] sas에서 left join 왼쪽데이터셋 기준 가로병합하는 방법(교집합되는 부분가져오는 경우) (0) | 2014.04.29 |
[SAS] sas에서 full join(합집합)에서 inner join(교집합)부분 빼는 방법(합집합-교집합) (2) | 2014.04.25 |
댓글