Informatique décisionnelle

Slides:



Advertisements
Présentations similaires
Premier programme en C :
Advertisements

Vocabulaire pour la passage du modèle conceptuel des données au modèle relationnel des données. MCDMRD EntitéTable PropriétésChamps, attribut IdentifiantClé
C.
Le publipostage La fonction de fusion permet de créer des documents identiques dans les grandes lignes que l’on personnalise automatiquement à chaque destinataires.
La fonction Style Permet de créer des types de texte, par exemple
Introduction à la programmation (420-PK2-SL) cours 15 Gestion des applications Technologie de linformation (LEA.BW)
Algorithme et programmation
Prise en main rapide... Ou comment commencer avec RevisAudit ?
Traitements Donne accès Aux bordereaux de remises en banque Aux remises d'espèces en banque Calcul des commissions de CB À la gestion des écritures répétitives.
Les requêtes La Requête est une méthode pour afficher les enregistrements qui répondent à des conditions spécifiques. La requête est donc un filtre.
Microsoft Excel Avancé
Cours de programmation
Structures de données linéaires
Mise en route et usage simple d’un tableur
Partie 1 Etude de l'existant
Tableau croisé dynamique sous Excel (TCD).
Traitement de textes WinWord 3 e année Sciences économiques, de gestion et commerciales Présenté par NEHAR Attia.
Les éléments de base de l’algorithmique
Analyse lexicale Généralités Expressions rationnelles Automates finis
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
Outils « bureautique » 1. Traitement de texte 2. Tableur.
Publispostage Menu Outils / Lettres et publipostage
SELECT {* | Expression [Alias] [,...] } FROM Table [WHERE Condition] [ORDER BY { Expression | Alias } [ ASC | DESC ] [NULLS FIRST | NULLS LAST ] [,...]
FICHIERS : Définition : Algorithme général:
1 GPA435 Systèmes dexploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D. Chapitre 9 Programmation nawk(1)
IFT 6800 Atelier en Technologies d’information
1 GPA435 Systèmes d’exploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D. Chapitre 8 Filtres UNIX.
Animateur : Med HAIJOUBI
Limiter et trier des données
Introduction Le SQL (Structured  Query Language) est un langage universel de gestion des bases de données. Il a une triple fonction : LDD Langage de Définition.
Informatique décisionnelle
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
La fonction RECHERCHEV
Objectifs A la fin de ce chapitre, vous pourrez : présenter l'utilisation d'opérations de chargement de données par chemin direct décrire l'utilisation.
Créer des packages.
Initiation aux bases de données
Un survol du language C.
Modes d’adressage (1) Référence aux cellules dans les formules – Important lors des copier/coller Adressage relatif (dépend de la cellule d’origine) –
 Requêtes MySQL en PHP Introduction
Tutorat en bio-informatique
Tutorat en bio-informatique Le 14 novembre Au programme… Les objets –Propriétés (attributs) –Constructeurs –Méthodes.
1 PHP 5 Notions fondamentales (cours #5) Formation continue – Cégep de Sainte-Foy.
Module 7 : Utilisation de requêtes élaborées
DEFINITION DES DONNEES : schéma conceptuel. Schéma conceptuel instructiondescription CREATE TABLEcréation d'une relation ALTER TABLEmodification de la.
Fonctions avancées et graphiques
Sélection de colonnes (la projection)
EXCEL TICE2 Premier année de Psychologie séance 2
TICE 2 ième Semestre TD6 - Récapitulatif. Mars 2006TICE 2ième Semestre - Révisions2 Evaluation La semaine prochaine Deux demi groupes, minutes d’examen.
Introduction au langage C Les entrées-sorties
Mettre en formeExaminerManipuler Les fonctions printf() et sprintf Le traitement de chaîne de caractère La fonction printf() formate le contenu d'une chaîne.
Création et Gestion de Tables
3 Copyright © Oracle Corporation, Tous droits réservés. Créer des fonctions.
L’enregistrement d’un classeur 1. Activer le menu « Fichier », 2. Choisir la commande « Enregistrer sous… », 3. Dans la boite du dialogue qui s’affiche,
QCM VBA.
Chaîne de requêteCookieSession Sauvegarder un état via l'url Sauvegarder l'état La technique consiste à passer des informations via l'URL sous la forme:
Introduction à l’utilitaire
Philippe Gandy - 8 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Initialisation au logiciel (Statistical Analysis System)
Tutoriel V_Stage Cliquez pour continuer.
Introduction au langage PL/SQL
Utilisation des formules de base
A la découverte d’Excel Certificat Informatique et Internet.
Scénario Les scénarios permettent de modifier la position, taille … des calques au cours du temps. Son fonctionnement est très proche de celui de Macromedia.
© Fujitsu Canada Introduction à Minitab Version 14 - Anglais Formation Black Belt Lean Six Sigma.
1 Tableur Excel. 2 Introduction Un tableur est un logiciel permettant de manipuler des données numériques et d'effectuer automatiquement des calculs sur.
CATALOGUE DES FORMATIONS WORD 2007 – Formateur : TAFOUREAU Laurent mercredi 23 mars 2016.
ALGORITHME ET PROGRAMMATION RÉVISION Informatique et Sciences du Numérique.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 4 Support de cours rédigé par Bernard COFFIN Université.
Transcription de la présentation:

Informatique décisionnelle SAS

Bibliothè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).

Assignation 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.

Assignation d’une libref Exemples : Windows Libname libsas ‘c:\cours\dev’; Unix Libname libsas ‘/cours/dev’;

Lecture de fichiers de données brutes : Mé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. Historisées : Pas de suppressions, Nécessité d’un référentiel de temps. L’historisation permet l’extrapolation, la mesure de l’impact d’une décision par comparaison de la situation avant et après la mise en application de cette décision. Exemple : Suivi des évolutions des comportements des clients

Création d’une table SAS Pour créer une table SAS à partir d’un fichier de données brutes, vous devez : Débuter par une étape DATA et nommer la table SAS qui sera créée (instruction DATA). Identifier l’emplacement du fichier de données brutes (instruction INFILE) Donner les instructions nécessaires à la lecture des champs du fichier de données brutes (instruction INPUT)

Cré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;

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’;

Lecture 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.

Lecture de données avec la méthode d’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

Lecture de données avec la méthode d’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;

Cré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;

Exercice Veuillez créer un fichier txt, avec des données comme dans l’exemple précédent , et veuillez créer une étape Data pour extraire les données. Modifiez l’étape DATA afin d’emmagasiner de façon permanente la table.

Lecture de fichiers de données brutes : méthode de données d’entrée formatées Objectifs : Lire des données de type caractère et numérique standard et non standard à l’aide de données d’entrée formatées. Lire des valeurs de date et les convertir en valeurs de date SAS

Lecture de données brutes à l’aide de la méthode de données d’entrée formatées La méthode de données d’entrée formatées permet de lire : Des données à l’intérieur de colonnes fixes Des données de type caractère et de type numérique standard et non standard Des valeurs chronologiques à convertir en valeurs de date SAS.

Lecture de données brutes à l’aide de la méthode de données d’entrée formatées Format général de l’instruction INPUT avec la méthode de données d’entrée formatées : INPUT contrôle-du-pointeur variable informat … ; Vous pouvez utiliser la méthode de données d’entrée formatées pour lire des valeurs de données en : amenant le pointeur d’entrée à la première position du champ précisant un nom de variable précisant un informat

Lecture de données brutes à l’aide de la méthode de données d’entrée formatées Contrôle du pointeur : @n améne le pointeur à la colonne n +n déplace le pointeur de n positions Un informat définit La largeur du champ d’entrée La façon de lire les valeurs de données emmagasinées dans le champ

Lecture de données brutes à l’aide de la méthode de données d’entrée formatées Exemple : data test; infile 'donneebrute.txt'; input @1 vol $3. @4 Date mmddyy8. @12 Dest $3. @15 Class 3. @18 Eco 3.; run;

Qu’est ce qu’un informat SAS ? Un informat est une instruction que SAS utilise pour lire des valeurs de données. Format général d’un informat : <$> nom-informatw. <d> <$> Informat de type caractère w Largeur du champ à lire . Délimiteur requis <d> Nombre de décimales

Informats sélectionnés 8. ou 8.0 lit 8 colonnes de données de type numérique Valeurs de données brutes Informat Valeurs de données SAS 8.2 lit 8 colonnes de données de type numérique et peut insérer un signe décimal dans la valeur de données Valeurs de données brutes Informat Valeurs de données SAS

Valeurs 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.

Conversion de dates en valeurs de date SAS SAS utilise des informats de date pour lire et convertir les dates en valeurs de date SAS. Exemples :

Lecture de feuilles Excel Objectifs : Créer une table SAS à partir d’une feuille Excel à l’aide de l’assistant d’importation. Créer une table SAS à partir d’une feuille Excel à l’aide de la PROC IMPORT.

La procédure IMPORT Format général de la procédure IMPORT : PROC IMPORT OUT=table-SAS DATAFILE=‘nom-de-fichier-externe’ <DBMS=type-de-fichier> <REPLACE>; RUN; REPLACE : écrase une table SAS qui existe déjà.

La procédure IMPORT Code SAS généré par l’assistant Import pour lire un fichier Excel : PROC IMPORT OUT=Work.test DATAFILE=‘donnee_source.xls’ DBMS=EXCEL REPLACE; MIXED=YES; RUN; MIXED=YES : Convertit des données dont les valeurs sont numériques en valeurs caractères pour une colonne contenant des types de données mixtes.

La procédure IMPORT Que faire, si les données étaient stockées dans un fichier texte délimité par des tabulations ? Changez le code PROC IMPORT afin de lire le fichier délimité par des tabulations. PROC IMPORT OUT= WORK.TEST DATAFILE= ‘données-source.txt’ DBMS=TAB REPLACE; RUN;

Exercice A partir de votre fichier source crée précédemment, veuillez délimiter vos données par un TAB, et veuillez utiliser la proc import pour l’extraction.

Initiation à la procédure PRINT Objectifs : Générer des listes simple au moyen de la procédure PRINT. Afficher les variables sélectionnées(colonnes) dans une liste. Afficher les observations sélectionnées(rangées) dans une liste. Afficher une liste avec des totaux.

Création d’une liste par défaut Format général de la procédure PRINT : PROC PRINT DATA=table-SAS; RUN; Exemple: Libname cours ‘bibliotheque-de-données-SAS’; Proc print data=cours.liste; Run;

Impression des variables sélectionnées L’instruction VAR permet : de sélectionner les variables à inclure dans la liste. de déterminer l’ordre dans lequel les variables seront affichées dans la liste. Format général de l’instruction VAR : VAR variable(s); Exemple : Proc print data=libref.tablesas; var colonne1 colonne2 ; Run;

Suppression de la colonne OBS Utilisez l’option NOOBS pour supprimer les numéros de rangées de la partie gauche du rapport. Format général de l’option NOOBS : PROC PRINT DATA=table-SAS NOOBS; RUN;

Définition de sous-ensembles de données : l’instruction WHERE Permet de sélectionner les observations correspondant à certains critères Peut être utilisé avec la plupart des procédures SAS Format général de l’instruction WHERE : WHERE expression-where; L’expression-where est une séquence d’opérandes et d’opérateurs.

Définition de sous-ensembles de données : l’instruction WHERE Les opérandes comprennent les éléments suivants : Variables Fonctions Constantes Les opérateurs comprennent : Des opérateurs de comparaison Des opérateurs logiques Des opérateurs spéciaux

Opérateurs de comparaison

Opérateurs de comparaison Exemples : where Salary >25000; where EmpID = ‘0082’; where Salary =. ; where LastName = ‘ ‘; where Job in (‘consultant’, ‘pilote’); Les comparaisons de valeurs de type caractère tiennent compte des majuscules et des minuscules. L’opérateur IN accepte les virgules ou les blancs pour séparer les valeurs.

Opérateurs logiques Les opérateurs logiques comprennent : AND OR NOT Exemples : … where Job=‘Consultant’ and Salaire > 5000; … where Job=‘Consultant’ OR Job=‘pilote’; … where Job not in (‘Consultant’,’pilote’);

Opérateurs spéciaux Les opérateurs spéciaux comprennent : BETWEEN – AND sélectionne les observations dans lesquelles la valeur de la variable se trouve inclusivement à l’intérieur d’une plage de valeurs. … where salary between 50000 and 70000; CONTAINS sélectionne les observations qui contiennent la sous-chaîne de caractères précisée. … where Nom ? ‘LAM’; (LAMBERT,BELLAMY, et ELAM sont sélectionnés.)

Requête de totaux de colonne L’instruction SUM génère des totaux de colonne. Format général de l’instruction SUM : SUM variable(s); L’instruction SUM génère également des sous-totaux si vous regroupez les données au moment de l’impression. EXERCICES

Exercices A partir de la table Class qui se trouve dans la SASHELP : 1. Affichez les lignes ou l’age est supérieur à 12 ans et dont le Name contient ‘Ja’; 2. Imprimez seulement les variables Name, Sex et Age A partir de la même table : 1. Affichez les lignes qui correspondent aux hommes. 2. Supprimez les numéros de rangées 3. Imprimez toutes les variables 4. Affichez les totaux de colonne pour les variables Height et Weight EXERCICES

Ordonnancement et regroupement des observations Objectifs Ordonnancer (tri) des observations dans une table SAS Regrouper les observations dans une liste Imprimer les sous-totaux de colonne dans une liste Contrôler les sauts de page pour les sous-groupes.

Tri d’une table SAS Pour obtenir des totaux de sous-groupe à l’aide de PROC PRINT, les observations dans la table doivent être groupée : La procédure SORT : réorganise les observations dans une table SAS permet de créer une nouvelle table SAS contenant les observations réorganisées permet de trier au moyen de plusieurs variables permet de trier en ordre croissant (valeur par défaut) ou décroissant. ne génère pas une sortie imprimée traite les valeurs manquantes comme la plus petite valeur possible

Tri d’une table SAS Format général de l’étape PROC SORT : PROC SORT DATA=Table-SAS-d ’entrée OUT=table-SAS-de-sortie ; BY <DESCENDING> variable(s)-by; RUN; Exemples : Proc sort data=sashelp.prdsale out=trivente ; by actual; Run; by Country descending actual;

Impression de sous-totaux et de totaux Imprimez la table en la regroupant par Country avec un sous-total à la colonne Actual pour chaque Country. Proc sort data=sashelp.prdsale out=work.tri; by country; Run; Proc print data=work.tri; sum actual;

Sauts de page Utilisez l’instruction PAGEBY afin que chaque sous-groupe apparaisse sur une page distincte. Format général de l’instruction PAGEBY : PAGEBY variable-by; Proc print data=work.tri; by country; pageby country; sum actual; Run;

Personnalisation de l’apparence des rapports Objectifs Définir les titres et les notes de bas de page pour améliorer l’apparence d’un rapport Définir des en-têtes de colonne descriptifs. Utiliser les options du système SAS

Définition des titres et de notes de bas de page Vous utilisez les titres et les notes de bas de page pour améliorer l’apparence d’un rapport. Format général de l’instruction TITLE : TITLEn ‘texte’; Format général de l’instruction FOOTNOTE : FOOTNOTEn ‘texte’; Exemples : Title1 ‘Cours BI’; Footnote2 ‘ESIAG’;

Définition des titres et de notes de bas de page Les caractéristiques d’un titre sont les suivants : Le titre s’affiche dans la partie supérieure de la page Le titre par défaut est THE SAS SYSTEM La valeur n peut être une valeur de 1 à 10 Une entrée TITLE non numérotée équivaut à TITLE1. Un titre demeure en vigueur tant qu’il n’est pas modifié ou annulé ou que vous ne mettez pas fin à votre session SAS. L’instruction title; annule tous les titres.

Définition des titres et de notes de bas de page Les caractéristiques d’une note bas de page sont les suivantes : La note bas de page s’affiche dans la partie inférieure de la page Aucune note bas de page ne s’affiche si elle n’a été définie. La valeur n peut être une valeur de 1 à 10. Une entrée FOOTNOTE non numérotée équivaut à FOOTNOTE1 Une note bas de page demeure en vigueur tant qu’elle n’est pas modifiée ou annulée ou que vous ne mettez pas fin à votre session SAS. L’instruction footnote; annule toutes les notes de bas de page.

Assignation d’étiquettes de colonne Format général de l’instruction LABEL : LABEL variable=‘étiquette’ variable=‘étiquette’; ‘étiquette’ définit une étiquette d’une longueur maximale de 256 caractères. Les étiquettes sont utilisées : pour remplacer les noms de variable dans une sortie SAS automatiquement dans plusieurs procédures avec la procédure PRINT lorsque l’option LABEL ou SPLIT = sont spécifiés avec l’instruction PROC PRINT.

Assignation d’étiquettes de colonne Exemples : Proc print data=work.tri label; label actual = 'ventes'; title1 'Infos Ventes'; footnote1 'ESIAG'; Run;

Exercices 1. Organisez le rapport en ordre croissant d’âge puis imprimez chaque âge sur une page distincte. 2. Ajoutez au rapport le titre ‘Info Age’ 3. Utilisez les étiquettes ci-dessous pour remplacer le nom des variables Name  Nom Sex  Sexe

Formatage des valeurs de données Objectifs : Afficher dans une liste les valeurs formatées au moyen des formats SAS. Créer des formats définis par l’utilisateur au moyen de la procédure FORMAT Appliquer des formats définis par l’utilisateur aux variables d’une liste

Formatage des données Pour appliquer un format à une variable SAS particulière, utilisez l’instruction FORMAT. Format général de l’instruction FORMAT : FORMAT nom-de-variable format-de-variable(s); Exemple : proc print data=sashelp.prdsal3 ; format date date9.; Run;

Qu’est ce qu’un format SAS ? Un format est une instruction que le système SAS utilise pour écrire la valeur des données. La structure générale des formats SAS est la suivante ; <$>format<w>.<d> <$> format de type caractère Format Nom du format <w> Largeur totale(y compris les décimales et les caractères spéciaux) . Délimiteur requis <d> Nombre de décimales

Formats SAS Formats SAS les plus courants :

Formats SAS Si vous ne précisez pas une largeur suffisante pour accommoder la valeur numérique, la valeur affichée est automatiquement modifiée pour s’ajuster à la largeur.

Formats SAS N’oubliez pas qu’une date SAS est emmagasinée comme le nombre de jours entre le 01JAN1960 et la date précisée. Les formats de date SAS affichent les valeurs de date SAS selon des formats de date standard. Formats de date SAS sélectionnés : MMDDYYw. DATEw.

Formats SAS Exemples :

Création de formats définis par l’utilisateur Le système SAS offre aussi la procédure FORMAT qui permet de définir des formats personnalisés. Pour créer et utiliser vos propres formats : 1. Utilisez la procédure FORMAT pour créer le format voulu. 2. Appliquez le format à des variables spécifiques au moyen de l’instruction FORMAT

Création de formats définis par l’utilisateur Format général d’une étape PROC FORMAT : PROC FORMAT; VALUE nom-de-format plage1=‘etiquette’ plage2=‘etiquette’ …. ; RUN;

Création de formats définis par l’utilisateur Nom-de-format : désigne le format que vous créez. ne peut comprendre plus de 32 caractères les valeurs de type caractère doivent avoir le signe dollar ($) comme premier caractère, une lettre ou un trait de soulignement comme deuxième caractère. les valeurs de type numérique doivent avoir une lettre ou un trait de soulignement comme premier caractère. ne peut se terminer par un chiffre. ne peut être le nom d’un format du système SAS. ne se termine pas par un point dans l’instruction VALUE

Création de formats définis par l’utilisateur Les étiquettes : doivent avoir une longueur de 32 767 caractères ou moins. sont habituellement entre guillemets, malgré que ce ne soit pas nécessaire. Plage(s) : peuvent être des valeurs uniques. plages de données.

Création de formats définis par l’utilisateur Assignez des étiquettes à des chiffres uniques. Proc format; value genre 1=‘Femme’ 2=‘Homme’ other=‘Bi’ ; Run; genre : nom du format de type numérique 1, 2 : valeur de données de type numérique other : mot clé Femme, Homme, Bi : valeur formatée

Création de formats définis par l’utilisateur Assignez des étiquettes à des plages de chiffres. Proc format; value poids low-50=‘Maigre’ 50-90=‘Moyen’ 90-high=‘Gros’ ; Run; Low, high : Mot clé

Création de formats définis par l’utilisateur Assignez des étiquettes à des valeurs de type caractère et à des plages de Valeurs de type caractère. Proc format; value $Niveau ‘A’=‘Bien’ ‘B’ – ‘D’=‘Moyen’ ‘E’=‘Mauvais’ other=‘Catastrophique’; Run;

Création de formats définis par l’utilisateur Etape 1 : Créez le format Proc format; value $format ‘t’=‘toto’ ‘u’=‘tutu’; Run; Etape 2 : Appliquez le format. Proc print data=work.table; format champ $format. ; // Ne pas oublier le .

Exercices A partir de la table Class (dans SASHELP), créez un format sur le sexe, ainsi que sur la taille. Pour le sex, affichez pour : sex = ‘F’, la valeur féminin sex = ‘M’, la valeur masculin Pour la taille, définissez 3 intervalles, et affichez les valeurs Grand, Moyen ou Petit. Affichez en sortie les champs name, sex, height, en appliquant les formats.

Lecture de tables SAS et création de variables Objectifs Créer une table SAS à partir d’une autre table SAS utilisée comme entrée. Créer des variables SAS. Utiliser les opérateurs et les fonctions SAS pour manipuler les valeurs de données. Contrôler quelles variables sont incluses dans une table SAS.

Lecture d’une table SAS Format général d’une étape DATA : DATA table-SAS-sortie; SET table-SAS-entrée; autres instructions SAS; RUN; Par défaut, l’instruction SET lit : toutes les observations de la table SAS d’entrée toutes les variables de la table SAS d’entrée

Instructions d’assignation Une instruction d’assignation : évalue une expression assigne la valeur résultante à une variable. Format général d’une instruction d’assignation : variable=expression; Une expression contient des opérandes et des opérateurs formant un ensemble d’instructions qui produisent une valeur. Les opérandes sont : des noms de variables, des constantes. Les opérateurs sont : des symboles qui demandent d’exécuter un calcul arithmétique, des fonctions SAS.

Etape DATA data newtab; set work.test; Total = first+Eco; run; proc print data=newtab; format Date date9. ;

Utilisation des fonctions SAS Une fonction SAS est un programme qui retourne une valeur définie à partir des arguments précisés. Format général d’une fonction SAS : Nom-de-fonction (argument1, argument2,…)

Utilisation des fonctions SAS Les fonctions SAS exécutent des opérations arithmétiques calculent des statistiques (par exemple sommation, moyenne et écart-Type) manipulent les dates SAS et traitent les valeurs de type caractère exécutent plusieurs autres tâches. Les fonctions de statistiques ne tiennent pas compte des valeurs manquantes. Exercices : Utilisation de la fonction SUM

Utilisation de la fonction SUM data total ; set work.test; Total = sum(first, eco); Run;

Utilisation des fonctions de Date Vous pouvez utiliser les fonctions de date SAS pour : créer des valeurs de date SAS extraire de l’information des valeurs de date SAS. TODAY() : obtient la valeur de date de l’horloge système. MDY(mois, jour, année) : utilise les valeurs mois, jour et année pour retourner la valeur de date SAS correspondante.

Fonctions Date : extraction d’information YEAR(date-SAS) extrait l’année d’une date SAS et retourne une valeur à quatre chiffres pour l’année QTR (date-SAS) extrait le trimestre d’une date SAS et retourne un chiffre de 1 à 4. MONTH(date-SAS) extrait le mois d’une date SAS et retourne un chiffre de 1 à 12. WEEKDAY(date-SAS) extrait le jour de la semaine d’une date SAS et retourne un chiffre de 1 à 7, où 1 représente dimanche, etc.

Utilisation de la fonction WEEKDAY Ajoutez une instruction d’assignation à l’étape DATA pour créer une variable qui représente le jour de la semaine où le vol a lieu. data vol; set work.test; Total = sum(first,eco); JourSem= weekday(Date); run; Proc print data=vol; format Date weekdate. ; Run;

Sélection des variables Vous pouvez utiliser une instruction DROP ou KEEP dans une étape DATA Pour contrôler quelles variables seront écrites dans la nouvelle table SAS. Format général des instructions DROP et KEEP : DROP variables; KEEP variables; data vol; set work.test; drop first eco; Total = first+eco; run;

Traitement conditionnel Objectifs Exécuter de façon conditionnelle des instructions avec la logique IF-THEN. Contrôler de façon explicite la longueur des variables. Sélectionner des rangées à inclure dans une table SAS. Utiliser les constantes de date SAS.

Exécution conditionnelle Air France désire calculer le chiffre d’affaires des vols à destination de Los Angeles et Dallas en fonction des prix dans le tableau ci-dessous :

Exécution conditionnelle Format général des instructions IF-THEN et ELSE IF expression THEN instruction; ELSE instruction; Une instruction contient des opérandes et des opérateurs formant un ensemble d’instructions qui produisent une valeur.

Exercices Calculer le chiffre d’affaires en fonction de la destination des vols .

Exécution conditionnelle data Cavol; set work.test; total = sum(class,eco); if dest=‘LAX’ then revenu=sum(2000*first,1200*eco); else if dest=‘DFW’ then revenu=sum(1500*first,900*eco); run;

La fonction UPCASE Vous pouvez utiliser la fonction UPCASE pour convertir des lettres minuscules à majuscules. Format général de la fonction UPCASE : UPCASE(argument) Utilisez la fonction UPCASE pour convertir les valeurs Dest en majuscules pour la comparaison.

Exécution conditionnelle data Cavol; set work.test; total = sum(class,eco); if upcase(dest) =‘LAX’ then revenu=sum(2000*first,1200*eco); else if upcase(dest) =‘DFW’ then revenu=sum(1500*first,900*eco); run;

Exécution conditionnelle Vous pouvez utiliser les instructions DO et END pour exécuter un groupe d’instructions en fonction d’une condition. Format général des instructions DO et END : IF expression THEN DO; instructions exécutables END; ELSE DO;

Exécution conditionnelle Utilisez les instructions DO et END pour exécuter un groupe d’instructions en fonction d’une condition. data Cavol; set work.test; total = sum(class,eco); if upcase(dest) =‘DFW’ then do; revenu=sum(1500*first,900*eco); city=‘Dallas’; end; else if upcase(dest) =‘LAX’ then do; revenu=sum(2000*first,1200*eco); city=‘Los Angeles’; run;

Longueurs de variable Au moment de la compilation, la longueur d’une variable est définie la première fois qu’elle est lue. data Cavol; set work.test; total = sum(class,eco); if upcase(dest) =‘DFW’ then do; revenu=sum(1500*first,900*eco); city=‘Dallas’; /* 6 caractères Longueur=6*/ end; else if upcase(dest) =‘LAX’ then do; revenu=sum(2000*first,1200*eco); city=‘Los Angeles’; run;

L’instruction LENGTH Vous pouvez utiliser l’instruction LENGTH pour définir de façon explicite la longueur d’une variable. Format général de l’instruction LENGTH : LENGTH variable(s) $ longueur; Exemple : length City $ 11;

L’instruction LENGTH data Cavol; set work.test; length city $ 11; total = sum(class,eco); if upcase(dest) =‘DFW’ then do; revenu=sum(1500*first,900*eco); city=‘Dallas’; /* 6 caractères Longueur=6*/ end; else if upcase(dest) =‘LAX’ then do; revenu=sum(2000*first,1200*eco); city=‘Los Angeles’; run;

Création de sous-ensembles de rangées Dans une étape DATA, vous pouvez créer des sous-ensembles de rangées (observations) dans une table SAS à l’aide d’une instruction WHERE d’une instruction DELETE d’une instruction de création de sous-ensembles IF. L’instruction WHERE dans une étape DATA est la même que l’instruction WHERE que vous avez vue dans une étape PROC.

Suppression / Sélection de rangées Vous pouvez utiliser une instruction DELETE pour contrôler quelles rangées seront écrites dans la table SAS. Format général de l’instruction DELETE : IF expression THEN DELETE; Vous pouvez utiliser une instruction de sous-ensembles IF pour contrôler quelles rangées seront écrites dans la table SAS. Format général de l’instruction de sous-ensembles IF : IF expressions;

Exercices Sélectionnez les rangées qui ont une valeur TOTAL plus grande que 155.

Utilisation de constantes de date SAS La constante ‘ddMMMyyyy’d (par exemple :’14dec2000’d) crée une valeur de date SAS à partir de la date indiquée entre guillemets. d : convertir la chaîne entre guillemets en une date SAS. Exemple : IF total gt 175 and Date lt ’14dec2000’d;

WHERE ou IF de création de sous-ensembles? Utilisez une instruction WHERE et une instruction de création de sous-ensemble IF dans la même étape. data Cavol; set work.test; where Date lt ’14dec2000’d; length city $ 11; total = sum(class,eco); if upcase(dest) =‘DFW’ then do; revenu=sum(1500*first,900*eco); city=‘Dallas’; /* 6 caractères Longueur=6*/ end; else if upcase(dest) =‘LAX’ then do; revenu=sum(2000*first,1200*eco); city=‘Los Angeles’; run;

Exercices A partir de la SASHELP.CLASS. 1.Création de 2 tables HOMMES ET FEMMES. (à partir de la variable sex) 2. Création de 2 tables 14 et plus et les autres. (à partir de la variable age)

Concaténation de tables SAS Objectifs Définir la concaténation Utiliser l’instruction SET dans une étape DATA pour concaténer deux tables SAS ou plus. Utiliser l’option de table RENAME= pour modifier le nom d’une variable Utiliser les instructions SET et BY dans une étape DATA pour imbriquer deux tables SAS ou plus.

Concaténation de tables SAS Utilisez l’instruction SET dans une étape DATA pour concaténer des tables SAS. Format général d’une concaténation durant une étape DATA. DATA table-SAS; SET table-SAS1 table-SAS2; <autres instructions SAS> RUN;

OPTION de table RENAME Vous pouvez utiliser l’option de table RENAME= pour modifier le nom d’une variable. Format général de l’option de table RENAME= : SAS-data-set (RENAME=(old-name-1 = new-name-1 old-name-2 = new-name-2 …..)) Exemples : data newfa ; set fa1 fa2(rename=(JCode=Code)); Run;

Imbrication de tables SAS Utilisez l’instruction SET avec une instruction BY dans une étape DATA pour imbriquer des tables SAS. Format général d’une imbrication dans une étape DATA : DATA table-SAS; SET table-SAS1 table-SAS2 … ; BY variable ; <autres instructions SAS> RUN; L’imbrication de tables SAS est simplement une concaténation de tables SAS ayant comme objectif de trier les observations dans la table résultante.

Fusion de tables SAS Objectifs Préparer des données pour la fusion à l’aide de la procédure SORT et des options de tables Fusionner des tables SAS au moyen d’une seule variable commune

Fusion de tables SAS Utilisez l’instruction MERGE dans une étape DATA pour joindre des Observations correspondantes à partir de deux tables SAS ou plus. Format général d’une étape DATA de fusion avec correspondances : DATA table-SAS; MERGE table-SAS; BY variable(s); <autres instructions SAS> RUN;

Exercices Imbriquez les tables FA1 et FA2 par NOM. Créez 2 tables : 1. la table performance qui contient 2 champs : Month et Sales Months sera de type caractère Sales type numérique 2. la table Goals qui contient 2 champs : Month et Goal Goal type numérique Fusionnez les 2 tables par Month et calculez les différences entre la valeur des variables de Sales et Goal.