SAS Base  •  Module I  •  1 h
Découvrir SAS et SAS Studio
M2 TIDE — Stage de programmation SAS — Enseignement 100 % distanciel
Objectifs du module
  • 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.

Retenez ce point de compatibilité ascendante : c'est l'une des raisons pour lesquelles SAS reste très présent dans les banques, les assurances, la pharmacie et les organismes publics, où des chaînes de traitement vivent plusieurs décennies.

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.

La LOG est votre meilleur outil de diagnostic. Prenez dès maintenant l'habitude de la lire après chaque exécution, même quand le programme semble avoir fonctionné : les avertissements (WARNING, en vert) passent facilement inaperçus alors qu'ils signalent souvent un résultat faux.

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.

Conséquence pratique très fréquente en début d'apprentissage : une table créée sans préfixe de bibliothèque disparaît à la fermeture de la session. Si vous voulez la retrouver demain, écrivez MALIB.MATABLE et non MATABLE.

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

Exercice I.1 — Ouvrir SAS Studio, repérer l'éditeur, la LOG et les résultats. Créer le dossier programmes_2026 dans votre arborescence.
Voir le corrigé
Dans le panneau de gauche (Explorateur de fichiers), clic droit sur votre dossier racine puis New > Folder, et nommez-le programmes_2026. L'éditeur de code occupe le centre de l'écran. Après avoir exécuté un programme (bouton Run, ou touche F3), les onglets LOG et RESULTATS apparaissent sous l'éditeur : c'est là que vous lirez les messages d'erreur et les sorties.
Exercice I.2 — Créer, à l'aide de l'instruction LIBNAME, une bibliothèque MALIB pointant sur le répertoire du stage. Vérifier son apparition dans le panneau des bibliothèques.
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.
Exercice I.3 — Désallouer MALIB à l'aide de l'option CLEAR, puis la réallouer.
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.
Exercice I.4 — Ouvrir la table SASHELP.CLASS et visualiser ses propriétés : nombre d'observations, nombre de variables, type de chaque variable.
Voir le corrigé
En double-cliquant sur SASHELP puis CLASS dans l'arborescence, ou par programme :
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.
Point de contrôle — à faire avant de continuer
Avant de passer au module suivant, assurez-vous de savoir répondre sans hésiter : quelle est la différence entre WORK.CLASS et MALIB.CLASS, et laquelle des deux tables existera encore demain matin ?
Pour valider ce module
  • QCM — QCM Module I — 5 questions, auto-évaluation
Modifié le: mardi 11 août 2026, 14:07
Accessibilité

Couleur de fond Couleur de fond

Police Police

Crénage de la police Crénage de la police

Visibilité de l’image Visibilité de l’image

Hauteur de ligne Hauteur de ligne

1.2

Surbrillance de lien Surbrillance de lien

Alignement du texte Alignement du texte

Taille de police Taille de police

1

Espacement des lettres Espacement des lettres

0

Couleur de texte Couleur de texte

Largeur de paragraphe Largeur de paragraphe

0