[SAS 고급] SAS DATA SET의 다차원 배열 로딩 (2) (Loading a Multidimensional Array from a SAS Data Set)
안녕하세요^^
이번 시간에는 지난 시간에 이어 SAS Data set에서 다차원의 배열을 가져오는 방법에 대해 예제를 통해 알아보겠습니다. 예제는 지난 시간의 예제를 이어서 살펴보도록 하겠습니다.
▶ 지난시간 배열에 값을 할당하는 과정을 살펴보았습니다.
▷ 이번 시간, 지난시간 예제를 계속하여 남아있는 문장들을 살펴보겠습니다.
▷ 두 번째로 사용할 SAS 데이터셋 orion.profit에는 2007년부터 2011년까지의 데이터가 월 단위(YYMM변수)로 구분되어 있습니다.
아래 데이터셋은 사용할 SAS 데이터의 일부입니다.
set문장을 실행합니다.
앞선 예제에서 다음과 같은 배열을 얻었습니다.
Set문장을 실행시킨 결과, orion.profit 자료의 첫 번째 row가 입력됩니다.
▷ 변수 Y와 M을 생성합니다.
YYMM변수에 대해 year함수와 month함수를 사용하여 년도와 월을 추출합니다.
배열의 값은 변함이 없습니다.
Y변수와 M변수(년도와 월)은 각각 2007, 1의 값을 할당 받은 것을 확인할 수 있습니다.
▷ 다음으로 BudgetAmt변수가 생성됩니다.
첫 번째 BudgetAmt 값은 Y=2007, M=1의 값이므로 배열 B{1,2007}의 값을 할당받습니다.
- 이후, run; 이 실행되어 PDV에 있는 결과가 반출(output) 됩니다.
▷ 다시 PDV를 초기화하여 _N_에 2의 값이 할당됩니다.
이 경우, 앞선 문장의 if문장에 만족하지 않게 되므로, 조건문은 건너뛰고, set 문장을 실행합니다.
▷ _N_=2인 경우, YYMM변수에 의해 Y의 값은 2007, M의 값은 2가 됩니다.
따라서 BudgetAmt의 값은 B{2, 2007}의 배열 값에 해당하는 1290000이 입력됩니다.
- 이후, run; 이 실행되어 PDV에 있는 결과가 반출(output) 됩니다.
▷ 이 과정을 orion.profit 데이터의 마지막 row에 도달할 때까지 반복합니다.
이상으로 두 시간에 걸쳐 SAS Data set에서 다차원의 배열을 가져오는 방법에 대해 예제를 통해 알아보았습니다.
감사합니다^^
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.