• FIRST, LAST, END 옵션의 활용법

 

   Practice

Will Data steps require BY or END= variables?

   설  명

DATA STEP 에서 사용되는 FIRST.변수명, LAST.변수명, END 옵션의 활용법에 대해서

알아보겠습니다.

 

일반적으로 FIRST.변수명, LAST.변수명과 END 옵션은 실무에 상당히 많이 쓰이는 것들

중에 하나입니다.

FIRST.변수명, LAST.변수명은 BY문장(BY로 정의된 변수는 반드시 정렬)으로 선언된 변수의 Grouping 값의 처음(FIRST)과 마지막(LAST) 값을 구분해 줍니다.

 

END 옵션은 데이터셋의 옵져베이션이 마지막일 경우 사용합니다.

FIRST.변수명, LAST.변수명과 END 옵션을 통해 지정된 변수는 임시변수로써 최종 데이터셋 으로 만들어지는 변수는 아닙니다.

 

보다 더 자세한 사항은 문장을 통해서 익히도록 하겠습니다.

  프로그램

 

               구문

                 설명

DATA subtotal;

 

    SET country end=E;

    BY state;

    WHERE amount < 10;

 

    IF first.state THEN total = 0;

    total + amount;

 

    IF last.state;

    n+1;

 

     /* 마지막 옵져베이션일경우 */

    IF E THEN

     PUT 'THERE WERE ' N  'STATES';

 

RUN;

 

**Syntax : end=(사용자정의변수) : 데이터셋의 마지막 옵져베이션일 경우 1의 값이 셋팅됩니다 (표참조)

**Syntax : first.변수명(BY변수) : BY로 선언된 변수의 Grouping 값이 처음일 경우 1의 값이 셋(표참조)

 

** Syntax : last.변수명(BY변수): BY로 선언된 변수의 Grouping 값이 마직막일 경우 1의 값이 셋팅 (표참조)

** 데이터셋 옵져베이션이 마지막일 경우 1의 값이 셋팅 (표참조)

 

결 과 : BY로 선언된 변수의 합계와 BY로 선언된 변수의 건수를 출력하는 프로그램입니다.

 

   표참조

** FIRST.변수명, LAST.변수명, END 옵션를 표로 설명.

FIRST.변수명과 LAST.변수명과 E 의 값이 0 or 1로 셋팅되는 것을 표로

설명했습니다.

 

 

STATE

AMOUNT

FIRST.STATE

LAST.STATE

E

CA

20

1

0

0

CA

5

0

0

0

CA

15

0

1

0

NY

30

1

0

0

NY

3

0

0

0

NY

12

0

1

1

 

 

** 파란색 : FIRST.변수명, 빨간색 : LAST.변수명, 녹색 : END옵션

 

 

 

반응형

'개발관련' 카테고리의 다른 글

[SAS] 두 DATASET비교하기 PROC COMPARE  (0) 2010.03.18
[SAS] 간단하게 여러 dataset을 한 파일로 출력하기  (0) 2010.02.11
sas 문자함수  (2) 2009.06.09
sas format문  (0) 2009.06.09
sas array문 사용  (0) 2009.06.09
Posted by cocon