42
Informatique décisionnelle Informatique décisionnelle SAS [email protected] [email protected]

Informatique décisionnelle SAS [email protected]

Embed Size (px)

Citation preview

Page 1: Informatique décisionnelle SAS mohamed.hamou@gmail.com

Informatique décisionnelleInformatique décisionnelle

SAS

[email protected]@gmail.com

Page 2: Informatique décisionnelle SAS mohamed.hamou@gmail.com

Un fonctionnement en modulesUn fonctionnement en modules

SAS est un logiciel fonctionnant en modules : les modules sont en

quelques sortes des sous parties du logiciel SAS.

Par exemple pour réaliser des opérations de type ETL il est

indispensable de posséder le module lié aux ETL (non inclus dans la

version basique).

En fonction de ses besoins, l'utilisateur choisira les modules les

plus adaptés : l'offre de SAS peut en quelque sorte être considérée

comme « une offre à la carte ».

Page 3: Informatique décisionnelle SAS mohamed.hamou@gmail.com

Un fonctionnement en modulesUn fonctionnement en modules

Page 4: Informatique décisionnelle SAS mohamed.hamou@gmail.com

Un fonctionnement en modulesUn fonctionnement en modules

Page 5: Informatique décisionnelle SAS mohamed.hamou@gmail.com

Le fonctionnement de SASLe fonctionnement de SAS

Le logiciel SAS fonctionne par l'intermédiaire du langage SAS.

La programmation SAS peut être découpée en trois parties :

Les étapes DATA : elles permettent au mettre titre que SQL une manipulation des données.

Les procédures PROC : elles permettent les analyses statistiques de bases de données.

Le langage macro : il sert à automatiser les programmes et réaliser des manipulations plus sophistiquées sur les données.

Page 6: Informatique décisionnelle SAS mohamed.hamou@gmail.com

Environnement de fenêtrage SASEnvironnement de fenêtrage SAS

Le mode fenêtrage interactif vous permet d’établir une interface avec

SAS

Page 7: Informatique décisionnelle SAS mohamed.hamou@gmail.com

Exécution des programmes SAS Exécution des programmes SAS

Objectifs :

• Invoquer le système SAS et inclure un programme dans votre session SAS

• Soumettre un programme et examiner les résultats

• Naviguer dans l’environnement de fenêtrage SAS

Page 8: Informatique décisionnelle SAS mohamed.hamou@gmail.com

Exécution des programmes SAS Exécution des programmes SAS

Soumission d’un programme SAS

Lorsque vous exécutez un programme SAS, la sortie générée par SAS

comprend deux parties principales :

• JOURNAL SAS contient des informations sur le traitement du programme SAS, y compris des messages d’erreur et d’avertissement

• SORTIE SAS contient les rapports générés par les procédures SAS et les étapes DATA

Page 9: Informatique décisionnelle SAS mohamed.hamou@gmail.com

TABLES SAS TABLES SAS

Les données doivent être présentées sous forme de tables SAS pour

être traitées par plusieurs procédures SAS et certaines instructions

d’étape DATA.

Un programme SAS est un fichier contenant des lignes de code SAS

Une table SAS est un fichier ayant une structure particulière et

contenant des valeurs de données

Une table SAS comporte une zone descriptive et une zone de données

Page 10: Informatique décisionnelle SAS mohamed.hamou@gmail.com

Examen de la zone descriptiveExamen de la zone descriptive

La zone descriptive d’une table SAS contient :

• Des informations sur la table SAS (nom, nombre d’observations, etc.)

• Les attributs des variables (nom, type, longueur, position, informat, format, étiquette)

La procédure CONTENTS affiche la zone descriptive d’une table SAS.

Page 11: Informatique décisionnelle SAS mohamed.hamou@gmail.com

Examen de la zone descriptiveExamen de la zone descriptive

Format général de la procédure CONTENTS :

PROC CONTENTS DATA=table-SAS;

Run;

Exemple :

Proc contents data=work.staff;

Run;

Page 12: Informatique décisionnelle SAS mohamed.hamou@gmail.com

Vue partielle de la sortie PROC CONTENTSVue partielle de la sortie PROC CONTENTS

Page 13: Informatique décisionnelle SAS mohamed.hamou@gmail.com

Tables SAS : zone de donnéesTables SAS : zone de données

La zone de données d’une table SAS contient des valeurs de

données de type caractère ou numérique.

Les variables (colonnes) dans la table correspondent aux champs de

données, et chaque colonne de données porte un nom.

Les observations (rangées) dans la table correspondent aux

enregistrements ou lignes de données.

Page 14: Informatique décisionnelle SAS mohamed.hamou@gmail.com

Variables SASVariables SAS

Il existe deux types de variables :

Type caractère :

Contient n’importe quelle valeur : lettres, chiffres, caractères spéciaux et blancs. Les valeurs de type caractère peuvent être d’une longueur 1 à 32 767 octets. Un octet est égal à un caractère.

Type numérique :

emmagasinée en nombres à virgule flottante de 8 octets de mémoire par défaut. Huit octets de mémoire à virgule flottante fournissent de l’espace pour 16 ou 17 chiffres significatifs. Vous n’êtes pas restreint à 8 chiffres.

Page 15: Informatique décisionnelle SAS mohamed.hamou@gmail.com

Désignation des tables SAS et des variablesDésignation des tables SAS et des variables

Noms SAS

• peuvent être d’une longueur de 32 caractères

• peuvent être en majuscules ou minuscules, ou les deux

• doivent commencer par une lettre ou un trait de soulignement. Les caractères qui suivent peuvent êtres des lettres, des traits de soulignement ou des chiffres.

Page 16: Informatique décisionnelle SAS mohamed.hamou@gmail.com

Noms SAS validesNoms SAS valides

Sélectionnez les noms SAS valides par défaut.

Data5mon

5monthsdata

Data#5

Five months data

Fivemonthsdata

Page 17: Informatique décisionnelle SAS mohamed.hamou@gmail.com

Valeurs de date SASValeurs de date SAS

SAS emmagasine les valeurs des dates comme des valeurs

numériques.

Une valeur de date SAS est interprétée comme le nombre de jours

entre le 1er janvier 1960 et la date visée.

Page 18: Informatique décisionnelle SAS mohamed.hamou@gmail.com

Valeurs de données manquantesValeurs de données manquantes

Une valeur doit exister pour chaque variable et observation.

Les valeurs manquantes sont des valeurs valides.

Une valeur de type caractère manquante s’affiche sous la forme d’un

blanc.

Une valeur de type numérique manquante s’affiche sous la forme

d’un point

Page 19: Informatique décisionnelle SAS mohamed.hamou@gmail.com

Examen de la zone de donnéesExamen de la zone de données

La procédure PRINT affiche la zone de données d’une table SAS.

Par défaut, PROC PRINT affiche• Toutes les observations• Toutes les variables• Une colonne Obs à gauche

Page 20: Informatique décisionnelle SAS mohamed.hamou@gmail.com

Examen de la zone de donnéesExamen de la zone de données

Format général de la procédure PRINT

PROC PRINT DATA=table-SAS;

Run;

Exemple :

Proc print data=sashelp.prdsale;

Run;

Page 21: Informatique décisionnelle SAS mohamed.hamou@gmail.com

Règles de syntaxe SASRègles de syntaxe SAS

Instructions SAS

• commencent habituellement par un mot clé (Data, proc,…)• se terminent toujours par un point-virgule

proc print data = work.test;

Run;

proc means data=work.test;

class emploi;

var salaire;

Run;

Page 22: Informatique décisionnelle SAS mohamed.hamou@gmail.com

Règles de syntaxe SASRègles de syntaxe SAS

Les instructions SAS sont à structure libre.

Un ou plusieurs blancs ou des caractères spéciaux peuvent être

utilisés pour séparer les mots.

Elles peuvent commencer et se terminer dans n’importe quelle

colonne.

Une même instruction peut s’étendre sur plusieurs lignes

Plusieurs instructions peuvent être entrées sur la même ligne.

Proc means data=work.test;

class emploi; var salaire; run;

Un bon espacement facilite la lecture du programme.

Page 23: Informatique décisionnelle SAS mohamed.hamou@gmail.com

Commentaires SASCommentaires SAS

Tapez /* au début de votre commentaire

Entrez le texte de votre commentaire

Tapez */ à la fin de votre commentaire

/* Affichage de la table test */

Proc print data = work.test;

Run;

Page 24: Informatique décisionnelle SAS mohamed.hamou@gmail.com

ExercicesExercices

Compléter les phrases

a. D’ordinaire, les instructions SAS débutent avec un ……………

b. Toutes les instructions SAS se terminent par un ………….

c. Les variables de type caractère peuvent comporter jusqu’à ….. caractères de long et utilisent …. Octet(s) de stockage par caractère.

d. Un nom de variable SAS contient jusqu’à … caractères et commence par un …ou un ………….

e. Par défaut, les variables numériques sont stockées dans … octets.

f. La valeur de date SAS stockée de façon interne pour le 1er Janvier 1960 est …..

g. Une valeur manquante de type caractère est affichée sous la forme d’un ……

h. Une valeur numérique manquante est affichée sous la forme d’un …..

Page 25: Informatique décisionnelle SAS mohamed.hamou@gmail.com

Erreurs de syntaxeErreurs de syntaxe

Les erreurs de syntaxe comprennent : • des mots clés mal orthographiés• des signes de ponctuation manquants ou non valides

Proc print data=work.erreur

Run;

proc print data=work.erreur

8 run; --- 22 - 200ERREUR 22-322: Erreur de syntaxe ; syntaxe requise : ;, (, DATA, DOUBLE, HEADING, LABEL, N, NOOBS, OBS, ROUND, ROWS, SPLIT, STYLE, UNIFORM, WIDTH.

ERREUR 200-322: Le symbole n'est pas reconnu et sera ignoré.

Page 26: Informatique décisionnelle SAS mohamed.hamou@gmail.com

Erreurs de syntaxeErreurs de syntaxe

Lorsque SAS découvre une erreur de syntaxe, SAS relève l’erreur et

consigne l’information suivante dans le journal SAS :

Le mot ERROR ou WARNING

L’emplacement de l’erreur

Une explication de l’erreur

Page 27: Informatique décisionnelle SAS mohamed.hamou@gmail.com

Bibliothèque de données SASBibliothèque de données SAS

Objectifs

• Expliquer le concept de bibliothèque de données SAS

• Expliquer la différence entre une bibliothèque permanente et une bibliothèque temporaire

• Utiliser la procédure CONTENTS pour examiner le contenu d’une bibliothèque de données SAS.

Page 28: Informatique décisionnelle SAS mohamed.hamou@gmail.com

Bibliothèque de données SASBibliothèque de données SAS

Une bibliothèque de données SAS peut se comparer au tiroir d’un

classeur et une table SAS, à l’une des chemises se trouvant dans un

tiroir du classeur.

Peu importe le système d’exploitation hôte que vous utilisez, vous

devez identifier les bibliothèques de données en assignant à

chacune une référence bibliographique (libref).

Lorsque vous invoquez SAS, vous avez accès automatiquement à

des bibliothèques de données SAS, soit une temporaire (work) et

une permanente (sasuser, sashelp).

Page 29: Informatique décisionnelle SAS mohamed.hamou@gmail.com

Assignation d’une librefAssignation d’une libref

Vous pouvez utiliser l’instruction LIBNAME pour assigner à une libref

à une bibliothèque de données SAS.

Format général de l’instruction LIBNAME :

LIBNAME libref ‘bibliothèque-de-données-SAS’ <options> ;

Règles d’affectation de nom à une libref :

Doit compter 8 caractères ou moins;

Doit commencer par une lettre ou un trait de soulignement;

Les caractères qui suivent peuvent être des lettres, des chiffres ou des traits de soulignement.

Page 30: Informatique décisionnelle SAS mohamed.hamou@gmail.com

Assignation d’une librefAssignation d’une libref

Exemples :

Windows

Libname libsas ‘c:\cours\dev’;

Unix

Libname libsas ‘/cours/dev’;

Page 31: Informatique décisionnelle SAS mohamed.hamou@gmail.com

Examen d’une bibliothèque de données SASExamen d’une bibliothèque de données SAS

Vous pouvez utiliser les mots clés _ALL_ pour afficher le contenu de

toute une bibliothèque et l’option NODS pour supprimer les zones

descriptives des tables.

Format général de l’option NODS :

PROC CONTENTS DATA=libref._ALL_ NODS;

RUN;

L’option NODS doit être utilisée avec le mot clé _ALL_ ;

Page 32: Informatique décisionnelle SAS mohamed.hamou@gmail.com

Examen d’une bibliothèque de données SASExamen d’une bibliothèque de données SAS

Pour explorer une zone descriptive d’une table SAS, précisez le nom

de la table dans l’option DATA=.

PROC CONTENTS DATA=libref.tablesas;

RUN;

Page 33: Informatique décisionnelle SAS mohamed.hamou@gmail.com

ExercicesExercices

1. Création d’un libname ‘cours’ qui pointe sur votre disque.

2. Copier la table Class qui se trouve dans la SASHELP dans le libname ‘cours’.

3. Explorer la zone descriptive de cette table.

Page 34: Informatique décisionnelle SAS mohamed.hamou@gmail.com

Lecture de fichiers de données brutes :Lecture de fichiers de données brutes :Méthode d’entrée par colonnesMéthode d’entrée par colonnes

Objectifs :

• Créer une table SAS temporaire à partir d’un fichier de données brutes.

• Créer une table SAS permanente à partir d’un fichier de données brutes.

• Expliquer comment l’étape DATA traite les données.

• Lire des données standard avec la méthode d’entrée par colonnes.

Page 35: Informatique décisionnelle SAS mohamed.hamou@gmail.com

Création d’une table SAS Création d’une table SAS

Pour créer une table SAS à partir d’un fichier de données brutes, vous

devez :

1. Débuter par une étape DATA et nommer la table SAS qui sera créée (instruction DATA).

2. Identifier l’emplacement du fichier de données brutes (instruction INFILE)

2. Donner les instructions nécessaires à la lecture des champs du fichier de données brutes (instruction INPUT)

Page 36: Informatique décisionnelle SAS mohamed.hamou@gmail.com

Création d’une table SASCréation d’une table SAS

Format général de l’instruction DATA :

DATA libref.table(s)-SAS;

Exemple : L’instruction DATA crée une table temporaire SAS nommée tabtest.

DATA work.tabtest;

Exemple : L’instruction DATA crée une table permanente SAS nommée tabtest.

libname ia ‘bibliothèque-de-données-SAS’;

DATA ia.tabtest;

Page 37: Informatique décisionnelle SAS mohamed.hamou@gmail.com

Pointeur vers un fichier de données brutes Pointeur vers un fichier de données brutes

Format général de l’instruction INFILE :

INFILE ‘nom-de-fichier’ <options>;

Exemples :

UNIX

Infile ‘/users/fic.dat’;

WINDOWS

Infile ‘c:\fichier\fic.dat’;

Page 38: Informatique décisionnelle SAS mohamed.hamou@gmail.com

Lecture de champs de donnéesLecture de champs de données

Format général de l’instruction INPUT :

INPUT spécifications-input;

Les spécifications-input :• nomment la variable SAS• identifient les variables comme type de caractère ou type

numérique• identifient l’emplacement du fichier de données brutes• peuvent suivre la syntaxe d’entrée par colonnes, formatée, de

liste ou par nom.

Page 39: Informatique décisionnelle SAS mohamed.hamou@gmail.com

Lecture de données avec la méthode Lecture de données avec la méthode d’entrée par colonnesd’entrée par colonnes

La méthode d’entrée par colonnes est adéquate pour la lecture :

Des données à l’intérieur de colonnes fixes

Des données de type caractère et de type numérique standard.

Format général de l’instruction INPUT par colonnes :

INPUT variable <$> debutcol-fincol … ;

Exemples de données de type numérique standard :

15 -15 15.4 +1.23 1.23E3 -1.23E-3

Page 40: Informatique décisionnelle SAS mohamed.hamou@gmail.com

Lecture de données avec la méthode Lecture de données avec la méthode d’entrée par colonnesd’entrée par colonnes

Fichier de données brutes

Etape DATA

Data nom-table-SAS;

infile ‘nom-de-fichier-données-brutes’;

input variable <$> debutcol-fincol … ;

Run;

Page 41: Informatique décisionnelle SAS mohamed.hamou@gmail.com

Création de tables SAS temporairesCréation de tables SAS temporaires

Emmagasinez la table test dans la bibliothèque work.

data work.test;

infile ‘donneebrute.txt’ ;

input vol $ 1-3 Date $ 4-11

Dest $ 12-14 first 15-17

Eco 18-20;

run;

Page 42: Informatique décisionnelle SAS mohamed.hamou@gmail.com

Création de tables SAS permanentesCréation de tables SAS permanentes

Modifiez l’étape DATA précédente afin d’emmagasiner de façon

permanente la table test.

libname ia ‘bibliothèque-de-données-SAS’;

data ia.test;

infile ‘donneebrute.txt’ ;

input vol $ 1-3 Date $ 4-11

Dest $ 12-14 first 15-17

Eco 18-20;

run;