SAS Base, A00-211 Crambible 

SAS 베이스 자격증 


QUESTION NO: 75

Given the raw data record in the file phone.txt: 


----|----10---|----20---|----30---|
Stevens James SALES 304-923-3721 14


The following SAS program is submitted:


data WORK.PHONES; 

infile phone.txt;

input EmpLName $ EmpFName $ Dept $ Phone $ Extension;
<_insert_code_>
run;


Which SAS statement completes the program and results in a value of "James Stevens" for the variableFullName?


A. FullName=CATX(' ',EmpFName,EmpLName); 

B. FullName=CAT(' ',EmpFName,EmpLName); 

C. FullName=EmpFName!!EmpLName;
D. FullName=EmpFName + EmpLName;


infile로 phone.txt라는 파일을 불러와서 work라이브러리에 phones라는 데이터를 만들려고 합니다. input을 이용해서 변수들을 선언하고 있고요. 원하는것은 FullName라는 변수가 있는데 이 변수의 값이 James Stevens가 되도록 하려는거네요. 


문자열 결합 방법에 대한 질문이고요. 문자끼리 결합하려고 할때  catx, cat, !! 를 사용하면 됩니다. 


지금 첫번째 변수랑 두번째 변수 더하면 되겠는데요. EmpLName, EmpFName을 어떻게 더해야하냐면, 


CATX(' ',EmpFName,EmpLName)

catx는 문자열 결합할때 결합할때 공백을 제거해서 더하고요. 이때 첫번째 지정이 구분자가 되어서 연결됩니다. 따라서 James Stevens가 되겠네요. 


CAT(' ',EmpFName,EmpLName)

경우, 공백없이 그냥 주르륵 합치게 됩니다. 그래서 길이가 default값으로 8자리인데요. 공백부분도 같이 들어가는거라 공백이면 공백이라고 적어보겠습니다. 그리고 앞에 있는건 구분자가 아니고요. 

공백James 공백공백공백Stevens공백 이렇게 됩니다.  


EmpFName!!EmpLName;

경우, 공백제거하는 기능은 없고 위에 CAT기능과 같습니다. 


문자끼리 합칠때는 숫자형 합치는거, + 이걸 쓸 수 없습니다. 


Answer: A 


반응형

+ Recent posts