How would you code a merge that will write the matches of
both to one data set, the non-matches from the left-most
data set to a second data set, and the non-matches of the
right-most data set to a third data set?
Answers were Sorted based on User's Feedback
Answer / sas job searcher
data x1y1
x1y0
x0y1;
/* x1y1, x1y0, x0y1 are output data set names */
merge left_most(in=x) right_most(in=y);
by id;
/* write all matches to x1y1: */
if x=1 and y=1 then output x1y1;
/* non-matches from the left-most data set: */
if x=1 and y=0 then output x1y0;
/* non-matches from the right-most data set: */
if x=0 and y=1 then output x0y1;
run;
| Is This Answer Correct ? | 11 Yes | 1 No |
Answer / reddy
data both left_only right_only;
merge dataset1(in=a) dataset2(in=b);
by variable;
if a and b then output both;
if a and not b then output left_only;
if b and not a then output right_only;
run;
i think these is the easy way of writing the code,if any
one nows other please specify.thanks!
| Is This Answer Correct ? | 11 Yes | 4 No |
What r all the reporting procedures...?
what is the difference between %put and symbolgen?
What is program data vector (pdv)?
What other SAS features do you use for error trapping and data validation?
how to know the attributes of first five datasets in a library
what are different type of sas servers ? On which server does the sas code execute ?
What is the good sas programming practices for processing large data sets?
What are _numeric_ and _character_ and what do they do?
How do you define proc in sas? : sas-grid-administration
How do you add a number to a macro variable?
how can u create zero observation dataset?
What does error:1 mean?