Sas: come utilizzare update in proc sql
È possibile utilizzare l’istruzione UPDATE in PROC SQL in SAS per aggiornare i valori in una o più colonne nel set di dati.
Ecco i modi più comuni per utilizzare nella pratica l’istruzione UPDATE :
Metodo 1: aggiorna i valori nella colonna in base a una condizione
proc sql ;
update my_data
set var1='new_value'
where var1='old_value';
quit ;
Metodo 2: aggiorna i valori nella colonna in base a più condizioni
proc sql ;
update my_data
set var1 =
case when var1> 25 then 100
when var1> 20 then 50
else 0
end;
quit ;
I seguenti esempi mostrano come utilizzare ciascun metodo nella pratica con il seguente set di dati in SAS:
/*create dataset*/
data my_data;
input team $position $points;
datalines ;
A Guard 22
A Guard 20
A Guard 30
A Forward 14
A Forward 11
B Guard 12
B Guard 22
B Forward 30
B Forward 9
B Forward 12
B Forward 25
;
run ;
/*view dataset*/
proc print data =my_data;
Esempio 1: aggiorna i valori nella colonna in base a una condizione
Possiamo utilizzare la seguente istruzione UPDATE in PROC SQL per aggiornare ciascuno dei valori della colonna del team in “Atlanta”, dove i valori esistenti equivalgono a “A”:
/*update values in team column where team is equal to 'A'*/
proc sql ;
update my_data
set team='Atlanta'
where team='A';
quit ;
/*view updated dataset*/
proc print data =my_data;
Tieni presente che ogni valore nella colonna della squadra che in precedenza equivaleva ad “A” ora equivale ad “Atlanta”.
Tutti i valori che non erano uguali ad “A” nella colonna della squadra venivano semplicemente lasciati invariati.
Esempio 2: aggiorna i valori nella colonna in base a più condizioni
Possiamo utilizzare la seguente istruzione UPDATE in PROC SQL per aggiornare ciascuno dei valori nella colonna dei punti in base a diverse condizioni:
/*update values in points column based on multiple conditions*/
proc sql ;
update my_data
set points =
case when points> 25 then 100
when points> 20 then 50
else 0
end;
quit ;
/*view updated dataset*/
proc print data =my_data;
Abbiamo utilizzato l’istruzione UPDATE con un’istruzione CASE WHEN per aggiornare i valori nella colonna dei punti.
Particolarmente:
- Se il valore esistente nella colonna dei punti era maggiore di 25, lo aggiorneremo a 100 .
- Altrimenti, se il valore esistente nella colonna dei punti fosse maggiore di 20, lo aggiorneremmo a 50 .
- Altrimenti, abbiamo aggiornato il valore nella colonna dei punti in 0 .
Tieni presente che abbiamo utilizzato solo tre condizioni nell’istruzione CASE WHEN , ma puoi utilizzare tutte le condizioni che desideri.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in SAS:
SAS: come utilizzare l’operatore LIKE in PROC SQL
SAS: come utilizzare l’operatore IN in PROC SQL
SAS: come utilizzare l’operatore WHERE in PROC SQL