📖 Cours Module I — Découvrir SAS et SAS Studio
- Situer SAS dans le paysage des outils de traitement de données et comprendre son fonctionnement en modules
- Se repérer dans l'interface de SAS Studio : éditeur, log, résultats, arborescence de fichiers
- Créer, exécuter, enregistrer et recharger un programme SAS
- Comprendre la hiérarchie bibliothèque / catalogue / table et déclarer une bibliothèque avec LIBNAME
1. Le système SAS
SAS naît au début des années 1960 : Anthony J. Barr écrit un premier programme d'analyse de la variance, puis de régressions multiples. À la fin des années 1960, son équipe y ajoute d'autres analyses statistiques, mais aussi la gestion de bases de données et le reporting. Barr crée également un langage de programmation propre au logiciel, le macro-langage, auquel les modules VIII à X de ce parcours sont consacrés.
La société SAS Institute Incorporation est fondée en 1976. Depuis, le champ de compétences du logiciel s'est considérablement élargi et SAS est devenu l'un des leaders mondiaux du marché de la Business Intelligence. La politique de l'éditeur est de toujours garantir la compatibilité des programmes d'une version à l'autre : un programme écrit il y a vingt ans tourne encore aujourd'hui. La dernière version commercialisée est SAS 9.4.
2. Un fonctionnement en produits (ou modules)
SAS existe pour les différents systèmes d'exploitation : Windows, Macintosh, Unix, Linux. En fonction de ses besoins, l'utilisateur choisit les modules les plus adaptés : l'offre de SAS peut être considérée comme une offre à la carte. Il s'agit d'un logiciel payant dont la licence doit être renouvelée chaque année.
| Module | Rôle |
|---|---|
| SAS/ACCESS | Accès aux systèmes de bases de données : DB2, INFORMIX, ODBC, ORACLE, SYBASE, SQL SERVER |
| SAS/BASE | Importation, manipulation et exportation des données |
| SAS/MACRO | Complément de SAS/BASE : langage permettant d'automatiser certaines tâches |
| SAS/GRAPH | Gestion des sorties graphiques |
| SAS/STAT | Fonctionnalités statistiques courantes et poussées |
| SAS/ETS | Statistiques avancées pour la prévision, la modélisation et la simulation |
| SAS/IML | Programmation en langage matriciel |
| SAS/INSIGHT | Manipulation interactive pour explorer et analyser les données |
| SAS/ENTERPRISE MINER | Système de fenêtres pour réaliser du data mining |
Dans ce parcours, nous travaillons exclusivement avec SAS/BASE (modules I Ã VII) puis SAS/MACRO (modules VIII Ã X), avec quelques incursions dans SAS/GRAPH au module VII.
3. SAS Enterprise Guide ou SAS Studio ?
Deux interfaces coexistent pour écrire et exécuter du code SAS.
SAS Enterprise Guide (SEG) repose sur la notion de projet. Un projet regroupe l'ensemble des tâches effectuées sur une ou plusieurs tables ; ces éléments sont organisés en flux de processus, c'est-à -dire des listes de tâches à exécuter dans un ordre précis. Un projet contient au moins un flux et on ne peut travailler que sur un seul projet à la fois. Chaque flux est constitué d'objets : des données (SAS ou non), du code, des procédures stockées, des résultats, des rapports et des notes. L'interface se compose des menus et de la barre d'outils, de l'arborescence du projet, de l'espace de travail (zone principale, toujours affichée et non réductible), de l'espace Ressources (liste des tâches, dossiers SAS, liste des serveurs, gestionnaire d'invites) et de la fenêtre d'état des tâches.
SAS Studio est l'interface web. C'est celle que nous utiliserons pendant tout le parcours, car elle ne demande aucune installation locale : un navigateur suffit. On y retrouve une arborescence de fichiers à gauche, un éditeur de code au centre, et trois onglets de sortie : CODE, LOG et RESULTATS.
4. Créer et organiser vos programmes
Dans l'arborescence de fichiers de SAS Studio, créez un dossier de travail dédié au stage (par exemple programmes_2026). Vous y stockerez tous les programmes produits pendant les dix modules. SAS Studio permet aussi de télécharger un programme sur votre ordinateur et, inversement, de charger un fichier local sur le serveur.
Un programme SAS porte l'extension .sas. Les autres extensions à connaître :
| Extension | Contenu |
|---|---|
| .sas | Programme SAS |
| .sas7bdat | Table SAS (version 8 et ultérieures) |
| .sas7bcat | Catalogue SAS |
| .lst | Sortie Output |
| .log | Sortie Log |
5. Variables et observations
Une table SAS ressemble beaucoup à une feuille Excel : les données sont organisées en colonnes et en lignes.
Une observation correspond à une unité d'observation : un produit, une vente, un individu, un département, selon la nature des données.
Une variable correspond à une information connue sur les individus recensés dans la table. Ses valeurs doivent être homogènes de la première à la dernière observation : une variable contenant une date de naissance ne peut pas contenir, à certaines lignes, un prénom, un total ou un âge.
6. Bibliothèque, catalogue, table
Une bibliothèque (ou librairie) correspond à l'endroit physique où sont stockés les fichiers SAS : tables, vues, catalogues, index.
Sous Windows comme sous Unix, une bibliothèque est associée à un répertoire. Les bibliothèques doivent être déclarées une fois pour toutes dans la session SAS.
Trois bibliothèques sont réservées :
| Bibliothèque | Rôle |
|---|---|
| WORK | Librairie de travail temporaire. Les fichiers sont détruits à la fermeture de la session SAS |
| SASHELP | Catalogues et vues propres au système SAS. Contient les tables d'exemple que nous utiliserons abondamment (CLASS, PRDSALE, IRIS...) |
| SASUSER | Librairie personnelle de l'utilisateur, contenant le catalogue PROFILE où sont sauvegardés les paramètres de configuration |
Vous pouvez créer vos propres librairies avec l'instruction LIBNAME :
libname NOM_LIBRAIRIE "CHEMIN" <options> ;
Le nom logique est limité à 8 caractères, sans caractère spécial. Le chemin est le nom physique du répertoire. Pour désallouer une bibliothèque, on utilise l'option CLEAR :
libname MALIB "/home/monidentifiant/m2tide-stage" ; libname MALIB clear ;
Un catalogue est un objet SAS pouvant contenir des formats, des macros compilées, des graphiques au format image, des listings, etc.
Une table SAS est constituée d'observations et de variables. Il n'y a pas de limite au nombre de lignes ; le nombre de colonnes est plafonné à 32 767 dans les versions antérieures à la 9, illimité ensuite.
Le nom d'une table peut compter jusqu'à 32 caractères ; le blanc, &, *, - et le point sont interdits, seul le tiret bas est autorisé. La syntaxe de référence est bibliotheque.table ; si aucune bibliothèque n'est précisée, SAS utilise implicitement WORK.
7. Les cinq façons de créer une table SAS
Nous les rencontrerons toutes au fil du parcours :
| Méthode | Module |
|---|---|
| La saisie directe (SAS Enterprise Guide uniquement) | Module I |
| L'import de fichiers externes via la PROC IMPORT | Module VI |
| L'étape DATA, à partir d'une ou plusieurs tables SAS ou d'un fichier externe | Modules III à V |
| Les procédures SAS, qui proposent presque toutes de stocker leur résultat dans une table | Modules VI et VII |
| L'Output Delivery System (ODS), qui redirige les résultats vers la sortie de son choix | Module VII |
8. Exercices d'application
Voir le corrigé
Voir le corrigé
libname MALIB "/home/monidentifiant/programmes_2026" ;
Exécutez ce programme, puis regardez la LOG : le message « Libref MALIB was successfully assigned » confirme la création. MALIB apparaît alors dans le panneau Bibliothèques (Libraries), à gauche.
Voir le corrigé
libname MALIB clear ; libname MALIB "/home/monidentifiant/programmes_2026" ;
Après la première instruction, MALIB disparaît du panneau Bibliothèques ; après la seconde, elle réapparaît. C'est le même mécanisme qui explique pourquoi une bibliothèque doit être redéclarée à chaque nouvelle session SAS.
Voir le corrigé
proc contents data = sashelp.class ; run ;
La table contient 19 observations et 5 variables : Name et Sex sont de type caractère, Age, Height et Weight sont de type numérique.
- QCM — QCM Module I — 5 questions, auto-évaluation
Couleur de fond
Police
Crénage de la police
Visibilité de l’image
Hauteur de ligne
Surbrillance de lien
Alignement du texte
Taille de police
Espacement des lettres
Couleur de texte
Largeur de paragraphe