SAS Base, A00-211 Crambible
SAS 베이스 자격증
QUESTION NO: 65
The following SAS program is submitted:
data combine;
prefix='505';
middle='6465 ';
end='09090';
<insert statement here>;
run;
Which statement successfully completes the program so that TOTAL has a value of 505-6465- 09090?
A. total = cat('-', prefix, middle, end);
B. total =catx('-', prefix, middle, end);
C. total = prefix !!'-'!! middle ''!!'-'!! end;
D. total = prefix!!'-'!! left(middle)!!'-'!! end;
505-6465-09090 결과값을 얻기 위해 어떤 명령어를 넣어줘야하는지에 대한 질문입니다. 보니까 - (hyper)를 기준으로 값이 연결되어있고요, 참고로 middle에는 빈 공간도 있는데 결과물은 빈공간이 없어졌네요. 이렇게 문자열을 합치는데 사용되는 것들은 다음과 같습니다. cat, catx, !!
prefix='505';
middle='6465 '; <- 빈 공간이 있는거 참고하세요.
end='09090';
A. total = cat('-', prefix, middle, end);
cat은 그냥 그대로 연결합니다. 그래서 -5056465 09090 이 결과값으로 나오게 됩니다. 빈 공간이 없어지지 않고 그대로 다 연결되었어요.
B. total =catx('-', prefix, middle, end);
catx는 공백을 없애주고 prefix, middle, end를 -로 연결됩니다. '-'는 연결을 해주라는 말입니다. 따라서 결과가 505-6465-09090 됩니다.
C. total = prefix !!'-'!! middle ''!!'-'!! end;
!! 는 합쳐주는 기능을 하고 있습니다. cat과 같은 기능을 가지고 있는데요. 에러가 납니다. !! 가 빠져있어서 그렇습니다. C는 잘못되어있어서 D를 보면~
D. total = prefix!!'-'!! left(middle)!!'-'!! end;
505-6465 -09090 결과가 되는데요. B와 차이점은 D에 공백이 있습니다. !! 합치게될땐 공백을 없애는 기능이 없습니다.
Answer: B
'SAS > Base Programmer' 카테고리의 다른 글
[A00-211, Crambible] SAS Q67 - error 문자형/숫자형 (0) | 2017.05.31 |
---|---|
[A00-211, Crambible] SAS Q66 - ODS, html (0) | 2017.05.30 |
[A00-211, Crambible] SAS Q64 - SAS log, error (0) | 2017.05.30 |
[A00-211, Crambible] SAS Q63 - set by, first/last, pdv (0) | 2017.05.30 |
[A00-211, Crambible] SAS Q62 - @ (0) | 2017.05.30 |