sas에서 그룹별로 여러변수에 특정값이 포함하는 key값만 출력하는 방법을 알아보자.

이전에도 비슷한 작업을 하였는데 이번에는 sql문을 이용해 아주 간단하게 처리하는 방법에 대해서 알아본다.

 

 

아래의 그림을 참조하자.

기존의 데이터에서 key그룹별로 code1과 code2에 특정값 a가 있는 경우의 키값들이 몇개인지 알아보는 방법이다.

 

 

[코딩과정]

 

data test;
input key$ code1$ code2$@@;
cards;
111 a b 777 g g 777 t t 111 b b 111 b a
222 a b 222 a b 333 b b 555 a a 333 b a
333 b b 666 a a 444 a b 444 b a 666 b a
666 a b
;
run;

 

proc sql;
create table result as
select distinct jin.key
from test as jin inner join test as hwi
on jin.key=hwi.key and jin.code1='a' and hwi.code2='a';
quit;

 


 

위의 data test코딩은 예제 데이터를 만들기 위한 코딩이고

proc sql문부터가 실제 우리가 원하는 출력값을 위한 코딩이다.

 

이전에 시도했던 data step으로 한것은 절차가 난해하고 복잡했으나

이번 작업은 아주 간단하게 sql문 하나로 해결하였다.

 

www.sasbigdata.com 김진휘