Sas: come utilizzare order by in proc sql
È possibile utilizzare l’istruzione ORDER BY in PROC SQL in SAS per ordinare i risultati di una query in base ai valori di una o più variabili.
Ecco tre modi comuni per utilizzare nella pratica l’istruzione ORDER BY :
Metodo 1: ordine in base a una variabile crescente
/*display results in ascending order by value in team column*/
proc sql ;
select *
from my_data
order by team ;
quit ;
Metodo 2: ordinamento per variabile decrescente
/*display results in descending order by value in team column*/
proc sql ;
select *
from my_data
order by team desc ;
quit ;
Metodo 3: ordine per più variabili
/*display results in ascending order by team, then descending order by points*/
proc sql ;
select *
from my_data
order by team, points desc ;
quit ;
I seguenti esempi mostrano come utilizzare ciascun metodo nella pratica con il seguente set di dati in SAS che contiene informazioni su vari giocatori di basket:
/*create dataset*/
data my_data;
input team $position $points assists;
datalines ;
A Guard 14 4
B Guard 22 6
B Guard 24 9
A Forward 13 8
C Forward 13 9
A Guard 10 5
B Guard 24 4
C Guard 22 6
D Forward 34 2
D Forward 15 5
B Forward 23 5
B Guard 10 4
;
run ;
/*view dataset*/
proc print data =my_data;
Esempio 1: ordine in base a una variabile crescente
Il codice seguente mostra come restituire ciascuna riga nel set di dati in ordine crescente in base ai valori della colonna del team :
/*display results in ascending order by value in team column*/
proc sql ;
select *
from my_data
order by team;
quit ;
Tieni presente che i risultati vengono visualizzati in ordine crescente in base ai valori nella colonna Squadra .
Esempio 2: Ordine per una variabile decrescente
Il codice seguente mostra come restituire ogni riga nel set di dati in ordine decrescente in base ai valori delle colonne del team :
/*display results in descending order by value in team column*/
proc sql ;
select *
from my_data
order by team desc ;
quit ;
Tieni presente che i risultati vengono visualizzati in ordine decrescente in base ai valori nella colonna Team .
Esempio 3: ordine per più variabili
Il codice seguente mostra come restituire ciascuna riga nel set di dati prima in ordine crescente per squadra e poi in ordine decrescente per punti :
/*display results in ascending order by team, then descending order by points*/
proc sql ;
select *
from my_data
order by team, points desc ;
quit ;
Tieni presente che i risultati vengono visualizzati prima in ordine crescente per squadra , poi in ordine decrescente per punti .
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in SAS:
SAS: come utilizzare UNION in PROC SQL
SAS: come utilizzare EXCEPT in PROC SQL
SAS: come utilizzare l’operatore IN in PROC SQL
SAS: come utilizzare l’operatore WHERE in PROC SQL