BookmarkSubscribeRSS Feed

[SAS 고급] SAS DATA SET의 다차원 배열 로딩 (2) (Loading a Multidimensional Array from a SAS Data Set

Started ‎06-17-2020 by
Modified ‎06-17-2020 by
Views 92

[SAS 고급] SAS DATA SET의 다차원 배열 로딩 (2) (Loading a Multidimensional Array from a SAS Data Set)

 

 

안녕하세요^^

 

 

이번 시간에는 지난 시간에 이어 SAS Data set에서 다차원의 배열을 가져오는 방법에 대해 예제를 통해 알아보겠습니다예제는 지난 시간의 예제를 이어서 살펴보도록 하겠습니다.

 

▶ 지난시간 배열에 값을 할당하는 과정을 살펴보았습니다.

 

▷ 이번 시간, 지난시간 예제를 계속하여 남아있는 문장들을 살펴보겠습니다.

 

 

▷ 두 번째로 사용할 SAS 데이터셋 orion.profit에는 2007년부터 2011년까지의 데이터가 월 단위(YYMM변수)로 구분되어 있습니다.

 

 

아래 데이터셋은 사용할 SAS 데이터의 일부입니다.

 

 SE22017052016254170.jpg

 

set문장을 실행합니다.

 

SE22017052016260170.jpg

 

앞선 예제에서 다음과 같은 배열을 얻었습니다.

 

SE22017052016262070.jpg

 

Set문장을 실행시킨 결과, orion.profit 자료의 첫 번째 row가 입력됩니다.

 

SE22017052016263370.jpg

 

 

▷ 변수 Y와 M을 생성합니다.

 

YYMM변수에 대해 year함수와 month함수를 사용하여 년도와 월을 추출합니다.

 

SE22017052016264670.jpg

 

배열의 값은 변함이 없습니다.

 

SE22017052016270370.jpg

 

Y변수와 M변수(년도와 월)은 각각 2007, 1의 값을 할당 받은 것을 확인할 수 있습니다.

 

SE22017052016271870.jpg

 

 

▷ 다음으로 BudgetAmt변수가 생성됩니다.

 

SE22017052016273470.jpg

 

SE22017052016274670.jpg

 

첫 번째 BudgetAmt 값은 Y=2007, M=1의 값이므로 배열 B{1,2007}의 값을 할당받습니다.

 

SE22017052016281670.jpg

 

SE22017052016282770.jpg

 

 -  이후, run; 이 실행되어 PDV에 있는 결과가 반출(output) 됩니다.

 

 

▷ 다시 PDV를 초기화하여 _N_에 2의 값이 할당됩니다.

 

SE22017052016291870.jpg

 

이 경우앞선 문장의 if문장에 만족하지 않게 되므로조건문은 건너뛰고, set 문장을 실행합니다.  

 

 

SE22017052016293870.jpg

 

 

 _N_=2인 경우, YYMM변수에 의해 Y의 값은 2007, M의 값은 2가 됩니다.

 

SE22017052016295370.jpg

 

SE22017052016300170.jpg

 

따라서 BudgetAmt의 값은 B{2, 2007}의 배열 값에 해당하는 1290000이 입력됩니다.

 

SE22017052016301770.jpg

 

-  이후, run; 이 실행되어 PDV에 있는 결과가 반출(output) 됩니다.

 

 

 ▷ 이 과정을 orion.profit 데이터의 마지막 row에 도달할 때까지 반복합니다.

 

 

 

이상으로 두 시간에 걸쳐 SAS Data set에서 다차원의 배열을 가져오는 방법에 대해 예제를 통해 알아보았습니다.

 

감사합니다^^

 

 

Version history
Last update:
‎06-17-2020 04:02 AM
Updated by:
Contributors

sas-innovate-wordmark-2025-midnight.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. Sign up by March 14 for just $795.


Register now!

Article Labels
Article Tags