SAS Base, A00-211 Crambible 

SAS 크램바이블, SAS 베이스 자격증 문제풀이   


QUESTION NO: 6


Given the raw data record DEPT: 


----|----10---|----20---|----30
Printing 750   <- Printing (공백) 750이 있습니다!

The following SAS program is submitted: 

data bonus;

infile'dept';
inputdept$ 1-11 number 13- 15; 

<insert statement here>
run;


Which SAS statement completes the program and results in a value of 'Printing750' for the DEPARTMENT variable?


A. department = dept II number;
B. department = left(dept) II number;
C. department = trim(dept) number;
D. department = trim(dept) put(number,3.);



DEPT라는 데이타에 Printing 750 (중간에 빈칸이 있네요)이 들어가있는데요. 

infile이라는 명령어로 DEPT를 불러와서 bonus라는 데이타를 만들려고 합니다. 

이때 dept변수는 1에서 11자리까지, number변수는 13에서 15자리까지 오게 됩니다. 


보기중에 어떤 명령어를 넣게되면, department 변수에 'Printing750' 이 나오게 될까, 라는 문제입니다. 보니까 공백이 사라졌네요. 그래서 printing과, 750을 어떻게 합치면 되는지가 문제 핵심입니다. 


printing뒤에 공백이 없어야하고요,  - 이땐 trim이라는 명령어를 사용합니다. 

|| 는 문자와 문자를 연결해주는 역할을 합니다. 

하지만 750은 숫자입니다. 문자가 아니라는거죠. 그래서 얘를 문자로 변환시키려면 put 명령어가 필요합니다. 


 문자를 숫자형으로 바꿀땐, INPUT(변수, 길이)

 숫자를 문자형으로 바꿀땐, PUT (변수, 길이) 


Answer: D


반응형

+ Recent posts