본문 바로가기

가로병합2

[SAS] sas에서 left join시 join값(유니크값)이 두개이상 일치하는 경우 병합하는 방법 sas에서 left join시 join값(유니크값)이 두개이상 일치하는 경우 병합하는 방법에 대해서 알아보자. 간단히 설명하자면 데이터를 가로병합하는데 왼쪽 테이블 기준으로 하되 키값이 기존에는 하나였지만 키값이 2개가 일치하는 경우만 병합시키는 것이다. 그림을 통해 어떤 문제를 해결할 것인지 알아본다. test1 데이터셋과 test2 데이터셋을 test1데이터셋 기준(left join)으로 가로 병합을 하는데 k변수와 j변수가 둘다 일치하는 경우에만 가로병합을 실시하는 것이다. 그럼 결과는 맨 오른쪽 그림과 같이 check가 붙으면서 병합이 되어야한다. [코딩과정] [예제 데이터생성] data test1; input k$ j$; cards; A T A A C B H S ; run; data test2;.. 2014. 5. 30.
[SAS] sas에서 조건에 맞는 값들에 대해서만 left join하는 방법 sas에서 조건을 제시하고 그에 맞는 값들에 대해서만 left join을 하는 방법을 알아보자. 여기서 말하는 조건은 데이터의 일부분이 일치하는 경우를 말한다. 예를 들어 알아보자. [코딩 및 설명] [data step구문 이용방법] proc sort data=jin.hwi1;by key; run; proc sort data=jin.hwi2;by key; run; data jin.join; merge jin.hwi1(in=a where=(key like '1%')) jin.hwi2(in=b); by key; if a; run; 데이터셋 코딩을 보면 먼저 두개의 데이터셋을 join할 값인 key별로 정렬(sort)을 실시한다. 그리고 merge를 이용해 가로병합을 실시하는데 where문이 추가된 것을 볼 .. 2014. 5. 29.