sas array문 사용

개발관련 : 2009. 6. 9. 12:44

Array 문 사용

What is Array?

우리가 일반적으로 변수를 선언하는데 연속적으로 변수를 지정하고 반복적으로 변수를 이용하여 연산을 해야 하는 경우가 많으실 겁니다. 이때 Array 를 이용하시면 효율적으로 연산이 가능합니다.

ARRAY array-name{dimension} $ length elements (initial values) ;  

ARRAY :

-반복적인 계산 수행, 동일한 속성을 갖는 여러 변수 생성 등의 작업에서

  프로그램을 단순화 하기 위해 사용 할 수 있습니다.

-모든 문자형/숫자형의 Array 를 생성할 수 있습니다.

-여러 개의 값을 Array에 저장하여 사용할 수 있습니다.

-Array 의 Eliment 별로 다른 TYPE 을 지정할 수는 없습니다.

  (문자형이면 문자형, 숫자형이면 숫자형)

- DataStep 에서만 사용 가능합니다.

 

 

 

 

설명 : 위의 그림은 ARR_VAR 라는 Array 변수를 4개의 Elements 를 선언한 것에 대한 그림입니다. 자세한 사용법은 아래에 설명 드리겠습니다.

 

 

EMP_ID

QTR1

QTR2

QTR3

QTR4

A1334

3214

3232

3223

2122

A2345

2214

3232

3000

3122

A5433

3814

1932

1223

2522

A3223

3900

4332

3323

2722

A4324

3000

2332

4323

2822

A7654

2004

2000

4123

2922

 

 

데이터셋 구조는 사번(EMP_ID)과 각각의 분기별(QTR1-QTR4) 실적값으로 되어 있으며, 사번 별로 분기별 실적값을 1.25% 의 이율을 추가하고자 합니다.

(기존변수를 이용하여 새로운변수생성)

 

 

DATA array_sample(drop = i);

SET emp_qtr;

/* arr_var 의 4개의 element 로 선언하고, qtr1-qtr4 의 데이터셋의 변수값을 선언 */

ARRAY arr_var{4} qtr1-qtr4;

/* newqtr1-newqtr4 숫자형 변수 생성 */

ARRAY arr_new{4} newqtr1-newqtr4;

 

/* 4분기가 있으므로 4번의 Looping 을 실행함 */

DO i=1 to Dim(arr_var); 

    /* 분기별 실적값을 Array 로 저장하여 1.25의 이율을 연산 */

arr_new{i} = arr_var{i}*1.25;      

END;

RUN;

출처:SAS Korea 기술지원팀

반응형
Posted by cocon