나루다루

SAS BASE Q12. do / Q21과 비교 본문

Study/SAS BASE

SAS BASE Q12. do / Q21과 비교

나루다루 2018. 2. 13. 01:06
728x90
반응형

QUESTION NO: 12

The following SAS program Is submittad:

data work.sales;

do year = 1 to 5;

do month=1 to 12;

x+1;

output;

end;

end;

run;

 

How many observations are written the WORK SALES data set?

 

A. 0

B. 1

C. 5

D. 60


 

Answer: D




# 문제 풀이

 - year=1 (-> month=1 -> ... -> month=12) -> year=2 (-> month=1 -> ... -> month=12) -> year=3 ... 이런 식으로 생각하기.

x는 정의한게 없으므로 0부터 시작한다. x+1이므로 맨 처음 칸에는 1이 들어감.






data work.sales;

do year = 1 to 5;

do month=1 to 12;

x+1;

end;

end;

run;




 - Q21 : output이 없으므로 overwriting(덮어쓰기)가 됨.







data work.sales;

do year = 1 to 5;

do month=1 to 12;

x+1;

end;

output;

end;

run;




 - year=1 (-> month=1 -> ... -> month=12) -> year=2 (-> month=1 -> ... -> month=12) -> year=3 ... 이런 식이지만, 괄호 안의 month는 overwriting이 된다.

do month 구문이 끝나고 output이 있기 때문에, do month 구문은 overwriting 되고 do year 구문은 output이 적용된다.


do month에서 12에서 1을 더 증가시킨 13이 된 후 구문을 종료시킨다.

do year에서는 output이 적용되어 5에서 구문을 종료시킨다. (output이 구문을 종료시킴)

이 부분은 그냥 외워야 될 듯 하다....



728x90
반응형

'Study > SAS BASE' 카테고리의 다른 글

SAS BASE Q14. 문자와 숫자의 비교  (0) 2018.02.13
SAS BASE Q13. read data & dlm [수정]  (0) 2018.02.13
SAS BASE Q11. merge(by - sort)  (0) 2018.02.12
SAS BASE Q10. proc contents & _all_  (0) 2018.02.12
SAS BASE Q9.rename  (0) 2018.02.12
Comments