Economics & Deeplearning

안녕하세요. sas base 질문 드립니다. 본문

SAS/SAS 질문과 답변

안녕하세요. sas base 질문 드립니다.

이슈카 2016. 2. 20. 13:38



안녕하세요.

sas base 공부하던 중에 궁금한 부분이 생겨서 질문 드립니다.

 

1.

data ex;
infile datalines missover;
input id $ sales @;
quarter=0;
do while(sales ne .);
quarter+1;
output;
input sales @;
end;
datalines;
ID1 100 200 300 400
ID2 200 100
ID3 300 400 300 200
;

run;

 

이걸 돌리면 출력값이

 id  sales quarter

ID1   100     1

ID1   200     2

ID1   300     3

ID1   400     4

ID2   200     1

ID2   100     2

ID3   300     1

ID3   400     2

ID3   300     3

ID3   200     4

 

이렇게 나오는데요.

 

input id $ 는 제일 윗쪽에 한번만 적혀있는데..

sales 값이 200, 300 일 때에도 id=ID1으로 입력이 되어있는 이유를 잘모르겠습니다.ㅜㅜ

 

nput에서 @를 써서 고정을 시켰다는 것 까지는 알겠는데,

그게 어떤식으로 활용이 되고, 위 데이터 스텝이 어떤 순서로 실행이 되는건지 잘모르겠습니다.

답변부탁드립니다ㅜㅜ!!

================================================================================

ID1 100 200 300 400
ID2 200 100
ID3 300 400 300 200

다음 input 스테이트먼트까지 그 행에 고정시켜주니까 계속 읽는것입니다
두번째 input 스테이트먼트도 do 문에 묶여있여서 sales 만 읽는겁니다. 그리고 또 고정해놨으니 다시 do 문의 처음으로 돌아가고 sales 값이 없을때까지 계속하지요

Comments