Explain the message 'Merge has one or more datasets with
repeats of by variables'.
Answers were Sorted based on User's Feedback
Answer / vimal
If we are merging two datasets,
say,
a b
100 100
100
data x;
merge a b;
by id;
in this case, b has by variable repeated twice.
so the warning occurs.
| Is This Answer Correct ? | 4 Yes | 0 No |
Answer / upendra
it meens that by variable uesd in merge has more than one
record for observation.
| Is This Answer Correct ? | 3 Yes | 1 No |
Answer / pricil kurian
This message occur when we merge two datasets having the by
variables with more than one observation in both datasets.
In such scenarios we can't tell the result is true...We are
expecting really a carteisan product in such situation but
it is not the case..Inside the by values it will do a 1-1
merge only. So this note is very important. Use
nomergeby=error option in sas as a option so that we will
get this message as a error. This will avoid ignoring this
message. Use proc sql to merge the dataset such type
situation and proc sql will give a carteisan product. If u
are doing with datastep create unique variable and then
merge.
| Is This Answer Correct ? | 5 Yes | 3 No |
Answer / pari
merge,is performed under conditional criteria, thus we could
merge one or many datasets with repeats of a particular
variable using by statement.
| Is This Answer Correct ? | 1 Yes | 7 No |
Describe a time when you were really stuck on a problem and how you solved it?
How we can create SAS USER DEFINED CODE?
Code a PROC MEANS that shows both summed and averaged output of the data.
i have a dataset with var1,var2,var3; i want to upload the titles for the variables . How can we?
What is difference between sas rename and lable?
i want for interview question & answer plz it need immediate send t my mail raviprakashmot@gmal.cm
data data1; input dt account; format dt date9.; cards; 1745 1230 1756 1120 1788 1130 1767 1240 ; data data2; input startdt enddt total; format startdt date9. enddt date9.; cards; 1657 1834 12300 1557 1758 16800 1789 1789 12300 1788 1345 12383 1899 1899 13250 ; proc sql; create table data3 as select * from data1 as x left join data2 as y on x.dt>=y.startdt and x.dt<=y.enddt; quit; Here, we are getting cartision product. But,I want left join report consisting of this program. It should not get duplicate values. you can modify the program also.
how can u join the two tables without using proc sql Joins and nested queries ?
What are the difference between sas functions and procedures?
if a program has some 1000 or more line and how to know whether the syntax of the particular code is correct without checking it manually
What is the significance of the ‘OF’ in X=SUM (OF a1-a4, a6, a9);?
Why is a STOP statement needed for the point=option on a SET statement?