SAS Base, A00-211 Crambible 

SAS 베이스 자격증 


QUESTION NO: 64


After a SAS program is submitted, the following is written to the SAS log: 


105 data january;
106 set allmonths(keep = product month num_sold cost);
107 if month = 'Jan' then output january;

108 sales = cost * num_sold; 

109 keep = product sales;

ERROR 22-322: Syntax error, expecting one of the following:

!, !!, &, *,**, +, -,/, <,< =, <>, =, >, ><, >=,
AND, EQ, GE, GT, IN, LE, LT, MAX, MIN, NE, NG, NL, NOTIN, OR,^=,|,II,

110 run;


What changes should be made to the KEEP statement to correct the errors in the LOG?


A. keep product sales; 

B. keep product, sales; 

C. keep = product, sales;

D. keep = (product sales);



SAS log 파일을 보여주고 있고요. 105번째 줄부터 110번째 줄까지 나와있네요. 이 에러는 109번째 줄에서 생기게 되었겠네요. 109번째를 보니 keep이라는 명령어로 product와 sales라는 변수를 유지시켜주려고 했네요. 


data step에서의 keep 문구는 = 이 필요없이 keep 변수; 이렇게 적어주면 됩니다. 참고로, set을 이용해서 set allmonths(keep = product month num_sold cost); 처럼 allmonths데이타안에서의 product month num_sold cost변수를 유지시키라고 할땐 = 가 필요합니다. 


Answer: A 


반응형

+ Recent posts