Sas: hoe de if-instructie in proc sql te gebruiken
Hoewel het niet mogelijk is om een IF- statement in PROC SQL in SAS te gebruiken, kun je de CASE- operator gebruiken om de waarden te definiëren die een variabele moet aannemen op basis van bepaalde voorwaarden.
De volgende voorbeelden laten zien hoe u de CASE- operator in de praktijk kunt gebruiken met de volgende gegevensset in SAS die informatie bevat over verschillende basketbalspelers:
/*create dataset*/
data my_data;
input team $points;
datalines ;
Cavs 12
Cavs 14
Warriors 15
Hawks 18
Mavs 31
Mavs 32
Mavs 35
Celtics 36
Celtics 40
;
run ;
/*view dataset*/
proc print data =my_data;
Voorbeeld 1: Gebruik van de CASE-operator met slechts twee resultaten
We kunnen de CASE- operator in PROC SQL gebruiken om een nieuwe kolom in de dataset te genereren met de naam points_flag , die de waarde 0 heeft als de waarde in de puntenkolom kleiner is dan 20, of anders een waarde 1:
/*create new column called points_flag using case operator*/
proc sql ;
select *,
box
when points < 20 then 0 else 1
end as points_flag
from my_data;
quit ;
Houd er rekening mee dat de kolom points_flag de waarde 0 heeft als de waarde van de puntenkolom kleiner is dan 20, en anders de waarde 1.
Voorbeeld 2: Gebruik van de CASE-operator met meer dan twee resultaten
We kunnen ook de CASE- operator in PROC SQL gebruiken om een nieuwe kolom in de dataset te genereren met de naam points_flag , die de waarde 0 heeft als de waarde in de puntenkolom kleiner is dan 20, en een waarde van 1 als de punten minder dan 35 zijn. of een waarde van 2 anders:
/*create new column called points_flag using case operator*/
proc sql ;
select *,
box
when points < 20 then 0
when points < 35 then 1 else 2
end as points_flag
from my_data;
quit ;
Houd er rekening mee dat de kolom points_flag de waarde 0, 1 of 2 heeft, afhankelijk van de corresponderende waarde in de puntenkolom .
Let op : U kunt zoveel When- statements gebruiken als u wilt, om zoveel verschillende waarden te genereren als u wilt in een nieuwe kolom.
Aanvullende bronnen
In de volgende zelfstudies wordt uitgelegd hoe u andere veelvoorkomende taken in SAS kunt uitvoeren:
SAS: Hoe de WHERE-operator in PROC SQL te gebruiken
SAS: Hoe de IN-operator in PROC SQL te gebruiken
SAS: UPDATE gebruiken in PROC SQL
SAS: CONTAINS gebruiken in PROC SQL