SAS : Comment utiliser ORDER BY dans PROC SQL



Vous pouvez utiliser l’instruction ORDER BY dans PROC SQL dans SAS pour trier les résultats d’une requête en fonction des valeurs d’une ou plusieurs variables.

Voici trois manières courantes d’utiliser l’instruction ORDER BY dans la pratique :

Méthode 1 : Ordre par une variable croissante

/*display results in ascending order by value in team column*/
proc sql;
   select *
   from my_data
   order by team;
quit;

Méthode 2 : Ordre par une variable décroissante

/*display results in descending order by value in team column*/
proc sql;
   select *
   from my_data
   order by team desc;
quit;

Méthode 3 : Ordre par plusieurs variables

/*display results in ascending order by team, then descending order by points*/
proc sql;
   select *
   from my_data
   order by team, points desc;
quit;

Les exemples suivants montrent comment utiliser chaque méthode en pratique avec l’ensemble de données suivant dans SAS qui contient des informations sur divers joueurs de basket-ball :

/*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;

Exemple 1 : Ordre par une variable croissante

Le code suivant montre comment renvoyer chaque ligne de l’ensemble de données par ordre croissant selon les valeurs de la colonne d’équipe :

/*display results in ascending order by value in team column*/
proc sql;
   select *
   from my_data
   order by team;
quit;

Notez que les résultats sont affichés par ordre croissant par les valeurs de la colonne équipe .

Exemple 2 : Ordre par une variable décroissante

Le code suivant montre comment renvoyer chaque ligne de l’ensemble de données par ordre décroissant selon les valeurs de la colonne d’équipe :

/*display results in descending order by value in team column*/
proc sql;
   select *
   from my_data
   order by team desc;
quit;

Notez que les résultats sont affichés par ordre décroissant selon les valeurs de la colonne équipe .

Exemple 3 : Ordre par plusieurs variables

Le code suivant montre comment renvoyer chaque ligne de l’ensemble de données d’abord par ordre croissant par team , puis par ordre décroissant par points :

/*display results in ascending order by team, then descending order by points*/
proc sql;
   select *
   from my_data
   order by team, points desc;
quit;

Notez que les résultats sont affichés d’abord par ordre croissant par équipe , puis par ordre décroissant par points .

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans SAS :

SAS : Comment utiliser UNION dans PROC SQL
SAS : Comment utiliser EXCEPT dans PROC SQL
SAS : Comment utiliser l’opérateur IN dans PROC SQL
SAS : Comment utiliser l’opérateur WHERE dans PROC SQL

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *