▶ do ~ end 

 

do문은  end와 같이 사용한다. do문은 사용하는 범위가 다양하므로 익혀두면 매우 유용하게 쓰인다.

 

 

반복

data ex1;
do i= 1 to 10 by 0.5;
output;
end;
run;

 

1~10까지 0.5 단위로 컬럼을 생성한다.

output은 생성한 내용을 매 단위마다 저장하는 문장이다.

간단한 문장이지만 일정한 간격으로 데이터를 생성할 때 매우 유용하게 쓰인다.

 

 

 

위의 내용을 응용하면 아래와 같은 결과를 얻을 수 있다.

먼저 do문의 0~8까지 2단위로 데이터가 생성되며 이후에는 연속되지 않는 12, 14, 17의 값이 생성된다.

 

data ex2 ;
do i=0 to 8 by 2 , 12, 14, 17;
output;
end;
run;

 

 

 

do문은 do until, do while과 함께 사용할 수 있다.

while문은 조건이 맞는 한 계속 실행하고  until문은 실행 후 조건이 맞는지 본다. 두 명령문의 기준이 다르기 때문에 잘 살펴볼 필요가 있다.

 

▶ do while

data ex3 ;
x=5;
do i=1 to 10 while (x>=i);
output;
end;
run;

 

▶ do until

data ex4 ;
x=5;
do i=1 to 10 until (x<i);
output;
end;
run;

 

 

▶ stop

특정 조건을 만족하면 중지하고자 할 때 사용한다.

 

data sample_1; set sample;
if _N_=20 then stop;
run;

_N_이 20이 되는 순간 중지하기 때문에 19개의 관측치를 갖게 된다.

 

 

 

출처: http://blog.naver.com/hur_yoon/

 

'IT > SQL' 카테고리의 다른 글

[SAS] proc compare  (0) 2017.03.23
[SAS] Retain 문  (0) 2017.03.23
[SAS] Format 문 / Informat 문  (0) 2017.03.23
[SAS] If ~ then / else  (0) 2017.03.23
[SAS]Update와 merge 비교  (0) 2017.03.23
1. SAS EG 시작하기 - 데이터를 SAS 데이터셋으로 가져오기  (0) 2016.12.20
Mysql 기본과정을 배울 수 있는 자료/사이트  (0) 2016.10.31

+ Recent posts