L'outil de requêtage SAS Query

Le menu Tools - Query ouvre un assistant "presse-bouton" qui fait appel au module SAS/SQL. En d'autres termes, il permet de faire des PROC SQL sans connaître le SQL.

Les étapes de la PROC SQL avec Query

Première fenêtre

Il s'agit de choisir la librairie, puis les tables sur lesquelles on veut travailler (sélectionner dans la colonne de gauche puis faire glisser à droite grâce à la petite flèche. Si plusieurs tables sont sélectionnées, Query comprend qu'il faut faire une jointure de ces différentes tables.

Deuxième fenêtre : choix des variables à garder parmi les variables des tables sélectionnées.

La colonne du milieu présente plusieurs possibilités :

Column Alias / Label
permet d'affecter un alias (= un autre nom) ou un label à une colonne
Column Formats
permet de choisir le format de la colonne
Summary functions
permet de calculer le count ou la somme, la moyenne, le nombre de valeurs manquantes,... de le colonne
Move before et Move after
pour réorganiser l'ordre des colonnes
Build a column
c'est le seul qui n'ait pas besoin qu'une colonne soit sélectionnée pour fonctionner. Permet de construire une nouvelle colonne.

A partir de là, beaucoup de menus sont accessibles par un clic droit dans la fenêtre de droite.

Where conditions for subset
pour rajouter des conditions de type WHERE.

Apparaît alors une troisième fenêtre. A droite on clique sur la colonne concernée. Query propose alors une liste d'opérateurs. Enfin on complète la condition.
On remarque qu'on peut entrer une valeur constante en cliquant sur <CONSTANT enter value> et qu'on peut visualiser la liste des modalités de la variable choisie en cliquant sur <LOOKUP distinct values>. Ces deux possibilités se trouvent dans la fenêtre de droite comme la liste des variables.
Enfin mentionnons qu'on peut entrer plusieurs conditions WHERE en les reliant par un opérateur choisi grâce à l'onglet OPERATORS.
Order by
pour trier le résultat de la requête
Groups for summary functions
équivalent du GROUP BY
Having condition for group
équivalent de la ligne HAVING complétant le GROUP BY
Join type
permet de choisir le type de jointure et la variable sur laquelle on fait la jointure (par défaut on fait des jointures internes = " inner "). Dans le premier des programmes ci-dessus, on fait une jointure interne sur la variable nom : on met sur la même ligne les informations ayant trait à la même personne et on ne garde que les noms qui apparaissent dans les deux tables. Une jointure externe au contraire garde toutes les modalités de nom et complète la table avec des valeurs manquantes.
Reset
permet de réinitialiser la requête.
Tables
permet de modifier les tables sélectionnées.
Run query
permet de soumettre le programme Query.
Show query
permet de visualiser le programme généré par Query. On peut également à partir de là choisir de sauver le résultat de la requête dans une table, ou bien enregistrer la requête dans un catalogue.