BookmarkSubscribeRSS Feed

[SAS 활용 FAQ] 데이터요약 – BY 문장을 이용한 그룹 처리

Started ‎11-09-2021 by
Modified ‎11-09-2021 by
Views 2,667
  • DATA Step 으로 그룹 처리를 할 경우 DATA Step 에 BY 문장을 사용함.
  • DATA Step 내에 BY 문장을 사용할 경우, 두 개의 자동 임시 변수 First.BY 변수와 Last.BY 변수가 생성됨.
  • 두 개의 임시 변수의 의미는 현재 PDV 의 자료가
    1) 그룹의 첫 번째 값이면 First.by 변수의 값이 1, 아닐 경우 0 이 됨.
    2) 그룹의 마지막 값이면 Last.by 변수의 값이 1, 아닐 경우 0 이 됨.
  • SET 문장과 함께 BY 문장이 사용될 경우, 데이터가 BY 변수()별로 정렬이 되어 있거나 BY변수()에 기반한 인덱스가 있어야 함.

 

DATA output-SAS-data-set;

SET input-SAS-data-set;

BY BY-variable …;

<additional SAS statements>

RUN;

 

◀예제부서별 급여합계 구하기.

 

PROC SORT data=orion.specialsals out=salsort;

By Dept;

RUN;

 

DATA deptsals(keep=dept deptsal);

Set Salsort; /* div 오름차순으로 정렬된 데이터셋 */

By Dept ;

 

If First.Dept then Deptsal = 0; /* 그룹의 첫번째이면 급여합계 변수를 0 으로 초기화 */

DeptSal + salary ;

If Last.dept ;                         /* 그룹의 마지막이면 output 시킴 */

RUN;

Contributors
Version history
Last update:
‎11-09-2021 03:30 AM
Updated by:

sas-innovate-2026-white.png



April 27 – 30 | Gaylord Texan | Grapevine, Texas

Registration is open

Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!

Register now

Article Labels
Article Tags