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

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert