SAS Certified Adv Programmer 130 Questions (37)
Given the following SAS data sets ONE and TWO:
ONE NUM CHAR1 1 A1 1 A2 2 B1 2 B2 5 V TWO NUM CHAR2 2 X1 2 X2 3 Y 4 D
The following SAS program is submitted creating the output table THREE:
proc sql; create table three as select one.num, char1, char2 from one, two where one.num = two.num; quit;
THREE NUM CHAR1 CHAR2 2 B1 X1 2 B1 X2 2 B2 X1 2 B2 X2
Which one of the following DATA step programs creates an equivalent SAS data set THREE?
A.
data three; merge one two; by num; run;
B.
data three; set one; set two; by num; run; merge one two; by num; run;
C.
data three; set one; set two; by num; run; by num; run;
D.
data three; set one; do i = 1 to numobs; set two(rename = (num = num2)) point = i nobs = numobs; if num2 = num then output; end; drop num2; run;
Topics:
SAS Adv Questions |
6 Comments »
D
shouldn’t “A” be the correct answer?
No, the answer provided by the admin is right. Merge handles missing and many-to-many matches differently.
D is the answer I checked it
answer A is
num char1 char2
1 a1
1 a2
2 b1 x1
2 b2 x2
3 y
4 d
5 v
correct answer is D
No way, ANS is D. Pls check the SAS code sensibly.