Sas: hoe de where-optie te gebruiken met set
U kunt de WHERE- optie gebruiken met SET in SAS om een nieuwe gegevensset te maken die alleen rijen uit een andere gegevensset bevat als aan bepaalde voorwaarden wordt voldaan.
Hier volgen twee veelgebruikte manieren om deze optie in de praktijk te gebruiken:
Methode 1: Gebruik WHERE en SET met een voorwaarde
data new_data;
set my_data ( where = (dots>20));
run ;
In dit voorbeeld wordt een nieuwe gegevensset gemaakt met de naam new_data die alleen rijen in my_data bevat waarvan de waarde in de puntenkolom groter is dan 20.
Methode 2: Gebruik WHERE en SET met meerdere voorwaarden
data new_data;
set my_data ( where = (points>20 or team="Rockets"));
run ;
In dit voorbeeld wordt een nieuwe dataset gemaakt met de naam new_data die alleen de rijen in my_data bevat waarbij de waarde in de puntenkolom groter is dan 20 of de waarde in de teamkolom gelijk is aan Rockets.
De volgende voorbeelden laten zien hoe u elke methode in de praktijk kunt gebruiken met de volgende gegevensset in SAS:
/*create dataset*/
data my_data;
input team $points assists;
datalines ;
Mavs 22 10
Rockets 12 14
Spurs 29 8
Kings 13 10
Warriors 44 10
Heat 18 8
Magic 11 5
Pelicans 19 3
Blazers 12 8
;
run ;
/*view dataset*/
proc print data =my_data;
Voorbeeld 1: Gebruik WHERE en SET met een voorwaarde
We kunnen de volgende syntaxis gebruiken om een nieuwe gegevensset te maken met de naam new_data die alleen de rijen in my_data bevat waarbij de waarde in de puntenkolom groter is dan 20:
/*create new dataset*/
data new_data;
set my_data ( where = (dots>20));
run ;
/*view new dataset*/
proc print data = new_data;
Houd er rekening mee dat alleen rijen met een waarde groter dan 20 in de puntenkolom in deze gegevensset zijn opgenomen.
Voorbeeld 2: WHERE en SET gebruiken met meerdere voorwaarden
We kunnen de volgende syntaxis gebruiken om een nieuwe gegevensset te maken met de naam new_data die alleen de rijen in my_data bevat waarbij de waarde in de puntenkolom groter is dan 20 of de waarde in de teamkolom gelijk is aan „Rockets“:
/*create new dataset*/
data new_data;
set my_data ( where = (points>20 or team="Rockets"));
run ;
/*view new dataset*/
proc print data = new_data;
Houd er rekening mee dat alleen rijen met een waarde groter dan 20 in de puntenkolom of een waarde ‚Raketten‘ in de teamkolom in deze gegevensset zijn opgenomen.
Opmerking : u kunt en in plaats van of gebruiken om alleen rijen op te nemen die aan meer dan één voorwaarde voldoen.
Aanvullende bronnen
In de volgende zelfstudies wordt uitgelegd hoe u andere veelvoorkomende taken in SAS kunt uitvoeren:
Hoe u de SET-instructie gebruikt met meerdere gegevenssets in SAS
Hoe u de eerste N rijen van een gegevensset in SAS selecteert
Hoe gegevenssets in SAS te verwijderen