본문 바로가기
통계프로그램 비교 시리즈/엑셀과 SAS 함수

【엑셀(Excel)과 SAS함수】 AGGREGATE 함수

by 기서무나구물 2019. 1. 13.

포스팅 목차

    o AGGREGATE 함수

     


    목 적 : 

     

    AGGREGATE 함수는 목록 또는 데이터베이스에서 집계 값을 반환한다.

     


    문 법

    - 엑 셀 : AGGREGATE(function_num, options, ref1, [ref2], …)

    - SAS  : SAS 프로시져

     

    범 주 : 수학 및 삼각 함수

     

    참 고

    AGGREGATE에서 지원하는 엑셀 함수.

    Function_num 함수
    1 AVERAGE
    2 COUNT
    3 COUNTA
    4 MAX
    5 MIN
    6 PRODUCT
    7 STDEV.S
    8 STDEV.P
    9 SUM
    10 VAR.S
    11 VAR.P
    12 MEDIAN
    13 MODE.SNGL
    14 LARGE
    15 SMALL
    16 PERCENTILE.INC
    17 QUARTILE.INC
    18 PERCENTILE.EXC
    19 QUARTILE.EXC

     


    관련 함수

    함수명 함수내용
    AGGREGATE 목록 또는 데이터베이스에서 집계 값을 반환한다.
    AVERAGE 인수 리스트의 산술 평균을 반환한다.
    SUBTOTAL 목록이나 데이터베이스의 부분합의 값을 반환한다.
    COUNT 지정한 인수 목록에서 숫자의 개수를 카운트한다.
    COUNTA 인수 목록에서 공백이 아닌 셀의 개수를 카운트한다.
    LARGE 사용자가 지정한 데이터 집합에서 k번째로 큰 값을 반환한다.
    MAX 인수 목록에서 최대값을 반환한다.
    MEDIAN 주어진 수치 인수 목록에서 중앙값을 반환한다.
    MIN 사용자가 지정한 인수 목록에서 최솟값을 반환한다.
    SMALL 데이터 집합에서 첫 번째 인수에서 지정한 k번째로 작은 값을 반환한다.
    SUBTOTAL 목록이나 데이터베이스의 부분합의 값을 반환한다.
    VAR.S 표본의 분산을 구한다.
    VAR.P 모집단의 분산을 계산한다.

     


    예 제

     

    다음 예제는 지정한 조건의 집계 함수 값을 계산한다.

    SAS Program
    DATA AGGREGATE;
         INPUT VAR1 VAR2 @@;
    CARDS;
    96 82  72 65 30 95 56 63
    31 53  98 71 32 55 81 83
    33 100 53 91 34 89
    ;

     



    예제1-1 : VAR1과 VAR2의 최댓값을 계산한다.;

    SAS Program
    PROC SUMMARY DATA=AGGREGATE;
         VAR VAR1 VAR2;
         OUTPUT OUT=AGGREGATE_1(DROP=_:) MAX=;
    RUN;

     

    Results
     OBS    VAR1    VAR2
    
      1      98      100

     



    * 예제1-2 : 다음 예제는 PROC SQL을 사용하여서 VAR1과 VAR2의 최댓값을 계산한다.;

    SAS Program
    PROC SQL;
      SELECT MAX(VAR1) AS VAR1,
             MAX(VAR2) AS VAR2
      FROM   AGGREGATE;
    QUIT;

     

    Results
     OBS    VAR1    VAR2
    
      1      98      100

     


    * 예제2 : 다음 예제는 RANK 프로시져를 사용하여서 VAR1의 순위를 계산 후에 3번째로 큰 값을 선택한다.;

    SAS Program
    PROC RANK DATA=AGGREGATE OUT=AGGREGATE_2(WHERE=(VAR1_RANK=3)) descending;
         VAR VAR1;
         ranks VAR1_RANK;
    RUN;

     

    Results
                            VAR1_
    OBS    VAR1    VAR2     RANK
    
     1      81      83       3

     


     * 예제3-1 : 다음 예제는 VAR1과 VAR2 변수를 세로 결합 후에 중앙값을 반환한다.;

    SAS Program
    PROC SQL;
      SELECT MEDIAN(VAR)
      FROM   ( SELECT VAR1 AS VAR
               FROM   AGGREGATE
               UNION ALL
               SELECT VAR2 AS VAR
               FROM   AGGREGATE
             );
    QUIT;

     

    Results
    OBS    MEDIAN
    
     1       68

     


    * 예제3-2 : 다음 예제는 배열을 사용하여서 VAR1과 VAR2 변수를 하나의 변수로 생성 후에 중앙값을 반환한다.;
    *             변수의 개수가 많은 경우에는 배열 방식을 사용하는 것이 효율적이다.;

    SAS Program
    DATA AGGREGATE_4;
     SET AGGREGATE;
         ARRAY AGG[2] VAR1 VAR2;
         DO I=1 TO 2;
            VAR3 = AGG[I];
            OUTPUT;
         END;
    RUN;
    
    PROC SUMMARY DATA=AGGREGATE_4;
         VAR VAR3;
         OUTPUT OUT=AGGREGATE_5(DROP=_:) MEDIAN=;
    RUN;

     

    Results
    OBS    VAR3
    
     1      68

     

      --------------------------------------------  

    엑셀(EXCEL)과 SAS 함수(SAS Function) 비교 리스트 링크

     

    SAS 함수(SAS Function) 리스트 링크
    반응형

    댓글