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 |
what is sas? is a package or tool? give me introduction about sas?
Hello, I have PROC SQLs results group by 3 fields and I use SUM and COUNT functions in SQL. The problem is when I try to display my result with PROC TABULATE. I am getting very big numbers. I believe I make a mistake some where in Tabulate. Here is my Proc Tabulate. PROC TABULATE DATA=OUT04_05 FORMAT=12.; CLASS YR CENTRE VISA / PRELOADFMT EXCLUSIVE; VAR NEWUSER FRAUD TRANSFER AUTUSER REISSUE; TABLE CENTRE ALL, (YR ALL)*VISA, (NEWUSER*F=COMMA12. AUTUSER*F=COMMA12. FRAUD*F=COMMA12. TRANSFER*F=COMMA12. REISSUE*F=COMMA12.) / MISSTEXT={LABEL='0'} PRINTMISS RTS=20; FORMAT VISA VISAFMT.; KEYLABEL SUM = ' ' ALL = 'TOTAL'; LABEL YR = 'DATE YEAR' NEWUSER = 'TOTAL NEW ACCT' TRANSFER = 'TOTAL TRANSFER' FRAUD = 'TOTAL FRAUD TRANSFER' AUTUSER = 'TOTAL AUTH USERS' REISSUE = 'TOTAL REISSUE'; When I code it like : NEWUSER*N*F=COMMA12. AUTUSER*N*F=COMMA12. I get same amount numbers but to find a NEWUSER I use COUNT(*) and to find AUTUSER I use SUM(xxxx) function so both result shouldn’t be the same my problem is in this point. Could you tell me where the problem in code is. How can I display my result? TX.
How would you generate 1000 observations from a normal distribution with a mean of 50 and standard deviation of 20. How would you use PROC CHART to look at the distribution? Describe the shape of the distribution.
What are SAS/ACCESS and SAS/CONNECT?
Name statements that are execution only.
differnce between 8.2 and 9.1.3
How did you use the round function?give an example(don't say it will round to the nearest intger) eg1:round(84.55,.1) =84.6 eg2:round(92.64,.1)=92.6,How it is happening like this tell me the logic,that is how the round function works when we have deimal values?
hi tell be about pfizer? how to compare the work with other companies ? please tell me how to login and work also?
What are the automatic variables for macro? : sas-macro
There is a river notoriously known for it?s large crocodile population. With ease, how do you safely cross it?
do you need to know if there are any missing values? : Sas programming
what are the differences between proc report and proc tabulate?