[SAS] sas proc sql 문장에 대해서 알아보자(문장구조, 기술통계량)

분류: SAS 작성일: 2014.02.28 14:59 Editor: 공부하는 휘라

sas에서 proc sql 문장을 이용해서 기술통계량을 구하는 방법을 알아보고, 문장구조에 대해서도 알아보자.

 

[문장구조]

 

proc sql;
create table 결과 데이터셋명 as
 select 그룹변수명,
    sum(변수명) as sum,
    count(변수명) as n,
    avg(변수명) as mean,
    max(변수명) as max,
    min(변수명) as min,
    std(변수명) as std
from 입력 데이터셋명 where 입력 데이터에 대한 조건식
group by 그룹변수명
having 결과 데이터 조건식;
quit;
run;

 

[예제]

 

 

[예제 및 코딩 설명]

 

month, id, cost라는 변수 세개를 가진 sp1이라는 데이터셋이 있다.

 

create table sp2 → sp2라는 결과 데이터 셋을 생성한다.

select 뒤에 문장들  → month 생성 cost의 합, 갯수, 평균, 최대값, 최소값, 표준편차를 각각 생성한다.

                               그값에 대한 변수명은 as 뒤에 예명을 입력(예시에서는 예명을 함수명 그대로 사용하였음)

from → sp1데이터셋으로 부터

where  → month값이 03이 아닌 것들에 대해서

group by  → month변수 별로

having  → 결과데이터의 sum의 값이 200이 초과인 경우만 출력해라.

 

work.sp2 데이터셋의 결과를 보면

1.sp2라는 데이터셋명으로 데이터셋이 생성되었다.

2.month별 sum, n, mean, max, min, std변수가 생성되었고 각각의 값이 생성되었다.

3.month가 3이 아닌 경우이며, month그룹기준이다. 또한 sum값이 200 초과인 경우다.

 

위의 조건을 만족한 결과가 sp2라는 데이터셋으로 출력이 된 것을 위의 work.sp2 스크린샷을 통해 확인 할 수 있다.

month가 3이 아니며, month별로 sum값이 200초과일 경우인

month 1의 합, 갯수, 평균, 최대값, 최소값, 표준편차가 출력된 것을 확인 할 수 있다.

 

sasbigdata.com 김진휘

 

sas9.1 sas9.2 sas9.3 sasEG sas bigdata sas if