목 차
- Introduction
- DO Groups
- DO UNTIL and DO WHILE Statements
- Problem
1. Introduction
이번 챕터에서는 반복문에 대해서 알아보도록 하겠습니다.
많은 업무들은 특정 블록을 반복해야 하는 경우가 많습니다.
이럴 때 DO문, DO WHILE, DO UNTIL 문을 효과적으로 사용해보겠습니다.
2. DO Groups
다음 코딩을 실행해 봅니다.
data compund;
Interest = .0375;
Total = 100;
Year + 1;
Total + Interest*Total;
output;
Year + 1;
Total + Interest*Total;
output;
Year + 1;
Total + Interest*Total;
output;
format Total dollar10.2;
run;
title "Listing of COMPOUND";
proc print data=compound noobs;
run;
- 이 프로그램의 목적은 $100를 3년 동안 연 이자 3.75%로 투자를 한 결과를 보고 싶은데 있습니다.
- Year + 1;는 sum 명령문으로 결국 1년 이 지날 때마다 총 합(Total)에서 이자율만큼을 곱한 값을
지속적으로 더하는 것을 표시 합니다.
- 이러한 장문의 코딩을 DO 문을 이용하여 요약해보겠습니다.
data compound;
Interest = .0375
Total = 100;
do Year = 1 to 3;
Total + Interest*Total;
output;
end;
format Total dollar10.2;
run;
- 결과물은 다음과 같습니다.
OBS Interest Total Year
1 0.0375 $103.75 1
2 0.0375 $107.64 2
3 0.0375 $111.68 3
3. DO While and DO UNTIL Statements
- 앞말 그대로 UNTIL, 즉 특정 조건을 만족할 때까지 DO 이하의 명령문을 반복하는 것입니다.
- 다음 예제는 2번 예제에서 한 단계 더 나아가, $200이 넘기 위해서는 몇 년 동안 투자를 해야하는 지를
알고자 하는데 목적이 있습니다.
data double;
Interest = .0375;
Total = 100;
do until (Total ge 200);
Year + 1;
Total = Total + Interest*Total;
output;
end;
format Total dollar10.2;
run;
- 결과를 보신다면 until의 조건, 즉 Total이 200보다 커지는 순간 실행을 멈추고 있습니다.
- 그러므로 DO UNTIL 반복문은 반드시 한번 이상 실행 됨을 알 수 있습니다.
- 이번엔 DO WHILE문에 대해서 알아보도록 하겠습니다.
- DO WHILE은 DO UNTIL문과 거의 비슷하다고 보면 됩니다. 여기서 WHILE문 뒤에 조건이 참인 동안은
계속 실행을 한다는 것입니다. 그러므로 차이점은 DO UNTIL과는 달리 조건이 참이 아니면 한 번도
실행이 되지 않을 수 있다는 것입니다.
data double;
Interest = .0375;
Total = 100;
do while (Total ge 200);
Year + 1;
Total = Total + Interest*Total;
output;
end;
format Total dollar10.2;
run;
4. Problem
l 다음 조건을 만족하는 프로그램을 만들어 보세요 다음 프로그램을 실행하여 School이라는 임시 SAS Data Set을 만듭니다
n $1,000을 4.25%의 이율을 분기별로 적용하는 투자를 시행합니다.
n $30,000에 도달하기 위해서는 몇 년도가 되어야 할까요?
n 단, DO UNTIL 혹은 DO WHILE문을 사용해야 합니다.
수고하셨습니다. 정답은 다음주에 댓글로 달아드리겠습니다.^^ 즐거운 한주 보내세요~
본 자료의 저작권은 sas에 있습니다