When I want to merge 6 datasets to one dataset like this:
*Merge datasets*;
DATA m.combined;
MERGE m.dataset1
m.dataset2
m.dataset3
m.dataset4
m.dataset5
m.dataset6;
BY personnumber;
RUN;
Why do I get in my output table 3 times the same measurements for my personnumber like this:
Personnumber | Gender | Heigth | Weight |
1 | 1 | 167 | 56 |
1 | 1 | 167 | 56 |
1 | 1 | 167 | 56 |
2 | 1 | 188 | 78 |
2 | 1 | 188 | 78 |
2 | 1 | 188 | 78 |
3 | 2 | 190 | 102 |
3 | 2 | 190 | 102 |
3 | 2 | 190 | 102 |
I want to merge it like this:
Personnumber | Gender | Heigth | Weight |
1 | 1 | 167 | 56 |
2 | 1 | 188 | 78 |
3 | 2 | 190 | 102 |
There are no errors, so can someone please help? Thanks!
It's in the data. Please post your datasets (in data steps).
What do you mean? I can't post my whole dataset here..
Just post the data (in all datasets) for persons 1, 2 and 3 (as mentioned in your original question).
One of your incoming data sets (OK, possibly more than one) already contains multiple observations for each PERSONNUMBER. You have to fix that data set first (again, possibly more than one data set to fix) if you want to end up with one observation apiece.
If you think it's legitimate that one of your incoming data sets contains multiple observations per personnumber, then you need to decide what should happen with those ... how can your input contain many, but your output only one? What is the process to go through to narrow down the observations?
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.