BookmarkSubscribeRSS Feed

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

Started ‎11-09-2021 by
Modified ‎11-09-2021 by
Views 2,261
  • 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;

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

sas-innovate-white.png

Register Today!

Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9.

 

Early bird rate extended! Save $200 when you sign up by March 31.

Register now!

Article Labels
Article Tags