Hoe u een één-op-veel-samenvoeging uitvoert in sas
U kunt de volgende syntaxis gebruiken om een één-op-veel-samenvoeging uit te voeren in SAS:
data final_data;
merge data_one data_many;
byID ;
run ;
In dit specifieke voorbeeld wordt een nieuwe dataset gemaakt met de naam final_data door de datasets met de naam data_one en data_many samen te voegen op de variabele genaamd ID .
In de data_one- gegevensset komt elke unieke ID-waarde slechts één keer voor.
In de data_many -gegevensset verschijnt elke unieke ID-waarde meerdere keren.
Dit wordt een één-op-veel-fusie genoemd.
Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.
Voorbeeld: Eén-op-veel-samenvoeging in SAS
Stel dat we de volgende dataset hebben met de naam data_one , die informatie bevat over het verkooppersoneel van een bedrijf:
/*create dataset*/
data data_one;
inputIDGender $;
datalines ;
1 Male
2 Male
3 Female
4 Male
5 Female
;
run ;
/*view dataset*/
proc print data = data_one;
Houd er rekening mee dat elke unieke ID-waarde slechts één keer in de gegevensset voorkomt.
Stel nu dat we een andere dataset hebben met de naam data_many , die informatie bevat over de verkopen van elke verkoper op verschillende locaties:
/*create dataset*/
data data_many;
input Store ID $Sales;
datalines ;
1 to 22
1 B 25
1 C 20
2 to 14
2 B 23
3 to 10
4 to 15
4 B 29
5 to 16
5 C 22
;
run ;
/*view dataset*/
proc print data = data_many;
Houd er rekening mee dat elke unieke ID-waarde meerdere keren voorkomt.
We kunnen de volgende syntaxis gebruiken om een één-op-veel-samenvoeging uit te voeren met behulp van deze gegevenssets:
/*create new dataset using one-to-many merge*/
data final_data;
merge data_one data_many;
byID ;
run ;
/*view new dataset*/
proc print data =final_data;
De één-op-veel-samenvoeging leverde een nieuwe dataset op die alle informatie uit beide datasets bevatte.
Opmerking : U kunt de volledige documentatie voor de SAS merge- instructie hier vinden.
Aanvullende bronnen
In de volgende zelfstudies wordt uitgelegd hoe u andere veelvoorkomende taken in SAS kunt uitvoeren:
Hoe maak je een left join in SAS?
Hoe u een inner join uitvoert in SAS
Hoe u een externe join in SAS uitvoert