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 


반응형

+ Recent posts