Need help with Merge

Reply
Occasional Contributor
Posts: 6

Need help with Merge

Hi,

When I am merging 2 datasets- A and B with 247 and 18 observations respectively as below , I am getting 248 observations in the dataset AB. Is this correct?

As much as I know, the no.of observations in the new dataset AB should be 247. Need help in solving this problem. Appreciate it.

data AB AB_dummy;

length common_variable $ 50;

merge A (in=a) B (in=b);

by common_variable;

if a then output AB;

if a and not b then output AB_dummy;

run;

Contributor
Posts: 22

Re: Need help with Merge

Most likely there is 1 common variable that is in A and also in B. Thus, when you condition on 'if a then output AB' you are picking up 247 observations from dataset A and 1 observation from dataset B, yielding 248 total observations in dataset AB.

Esteemed Advisor
Posts: 7,294

Re: Need help with Merge

My guess is that you have a duplicate in file b. e.g.:

data a;
  input common_variable $50.;
  cards;
1
2
3
4
5
;
data b;
  input common_variable $50.;
  cards;
1
2
3
3
4
5
;
 
data AB AB_dummy;
  length common_variable $ 50;
  merge A (in=a) B (in=b);
  by common_variable;
  if a then output AB;
  if a and not b then output AB_dummy;
run;

Art, CEO, AnalystFinder.com

Ask a Question
Discussion stats
  • 2 replies
  • 135 views
  • 0 likes
  • 3 in conversation