The SAS data sets WORK.EMPLOYEE and WORK.SALARY are shown below:
WORK.EMPLOYEE WORK.SALARY
fname age name salary
Bruce 30 Bruce 25000
Dan 40 Bruce 35000
Dan 25000
The following SAS program is submitted:
data work.empdata;
[statemnets]
by fname;
totsal+ salary;
run;
Which one of the following statements completes the merge of the two data sets by the FNAME variable?
A. merge work.employee work.salary(fname = name);
B. merge work.employee work.salary(name = fname);
C. merge work.employee work.salary(rename = (fname = name));
D. merge work.employee work.salary(rename = (name = fname));
정답은 D입니다.
이 문제는 [statements]에 어떤 구문을 넣어야 FNAME이라는 변수 기준으로 두 개의 데이터셋이 Merge될 것인가를 묻는 문제입니다.
merge는 key 변수를 기준으로 두 데이터셋을 합치는 함수입니다.
여기선 FNAME이라는 변수를 KEY로 잡았습니다.
하지만, FNAME 변수는 WORK.EMPLOYEE 데이터셋에만 존재하고 WORK.SALARY 에는 NAME이라는 형태로 존재합니다.
그러므로, NAME변수를 FNAME으로 변경해줘야 합니다.
이 때 사용하는 함수가 RENAME 함수입니다.
RENAME = (변경 전 변수명 = 변경할 변수명)과 같이 사용하시면 됩니다.
따라서, 정답은 D입니다.