본문 바로가기

sas 데이터합치기3

[SAS] sas에서 inner join 하기 (교집합 개념) SAS에서 두개의 데이터셋을 합치는데 공통된 부분을 가로결합하는 방법을 알아보자. 쉽게 말하면 아래의 그림과 같이 초록색 부분인 교집합 부분을 출력하는 것이다. 위의 사진은 예제 데이터인 hwi1데이터셋과 hwi2데이터셋의 교집합 부분(초록색)을 출력하겠다는 그림이다. 1. data step 빅데이터에서는 proc sort과정의 처리속도 문제로 sql을 많이 사용하지만 일반적으로 많이 사용하는 데이터스텝에서 inner join(교집합)을 하는 과정을 알아보자. key값이 같은 데이터를 출력한다. join할 2개의 데이터셋의 기준이 되는 변수 key변수를 먼저 proc sort로 정렬을 한뒤 merge(가로병합)를 한다. 조건은 key기준으로 in의 a와 b가 같은 경우 교집한인 경우를 설정하면 위와 같이.. 2014. 4. 16.
[SAS] sas proc sql inner join(교집합) 방법 sas에서 proc sql문을 이용해서 데이터를 결합하는 방법들을 알아보자. sas proc sql inner join(교집합) 방법 - 두개의 데이터셋에 조인키의 같은 값만 있는 경우 합치기 [sas proc sql 교집합 inner join 문장구조 설명] [sas proc sql 교집합 inner join 예제 설명] [쉽게 코딩을 알아보자] proc sql; create table 결과데이터셋 as select 임의의명.*(모든변수사용), 임의의명2.*(모든변수사용) from 합칠데이터1 as 임의의명, 합칠데이터2 as 임의의명2 where 임의의명.합칠데이터1의 조인키변수=임의의명2.합칠데이터2의 조인키변수; run; sasbigdata.com 김진휘 2014. 3. 14.
[SAS] sas proc sql과 proc sort 두 방법으로 merge할 경우 처리 속도 비교 sas를 이용하여 필요한 데이터를 구축하기 위해서 데이터 병합 작업을 많이 하게 된다. 쉽게 말해 sas로 데이터를 붙이고 짜르고 하는 작업이 빈번하게 발생한다는 말이다. 데이터 가로 병합(merge)을 흔하게 사용하는데 데이터가 작을 경우에는 어떤 병합 방법을 사용해도 처리시간이 거의 차이가 없지만, 데이터가 크면 클수록 시간이 오래 걸리기 때문에 처리시간을 단축시키는 방법을 찾게 된다. sas에서 full join merge를 한다는 기준으로 두가지 방법(proc sql문, proc sort문)을 보고 어떤 것이 처리시간이 빠른지를 알아보도록 하자. 당연히 같은 결과를 출력하는데 여러가지 방법이 있다면 빠르게 처리 할수 있는 방법을 아는 것이 실무에 많은 도움이 될 것이다. 위의 사진에서 두가지 방법.. 2014. 3. 12.