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;
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.
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
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.