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?
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
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.
Ready to level-up your skills? Choose your own adventure.