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

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *