SAS base Introduction à SAS SQL SAS IML

Documents pareils
MAÎTRISE DE L ENVIRONNEMENT WINDOWS VISTA

GUIDE Excel (version débutante) Version 2013

Avant-propos FICHES PRATIQUES EXERCICES DE PRISE EN MAIN CAS PRATIQUES

Évaluation des compétences. Identification du contenu des évaluations. Septembre 2014

RACCOURCIS CLAVIERS. DEFINITION : Une «combinaison de touches» est un appui simultané sur plusieurs touches.

INITIATION AU LOGICIEL SAS

Mon aide mémoire traitement de texte (Microsoft Word)

EXCEL PERFECTIONNEMENT SERVICE INFORMATIQUE. Version /11/05

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

La Clé informatique. Formation Excel XP Aide-mémoire

Débuter avec Excel. Excel

Le cas «BOURSE» annexe

Le cas «BOURSE» annexe

Initiation à Excel. Frédéric Gava (MCF)

R01 Import de données

Note de cours. Introduction à Excel 2007

Date M.P Libellé Catégorie S.Catégorie Crédit Débit Solde S.B

Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite.

EXCEL TUTORIEL 2012/2013

Traitement des données avec Microsoft EXCEL 2010

Cours Excel : les bases (bases, texte)

La place de SAS dans l'informatique décisionnelle

KIELA CONSULTING. Microsoft Office Open Office Windows - Internet. Formation sur mesure

Business Intelligence

1 CRÉER UN TABLEAU. IADE Outils et Méthodes de gestion de l information

Manuel d utilisation du site web de l ONRN

VOCABULAIRE LIÉ AUX ORDINATEURS ET À INTERNET

TD d économétrie appliquée : Introduction à STATA

Table des matières A. Introduction... 4 B. Principes généraux... 5 C. Exemple de formule (à réaliser) :... 7 D. Exercice pour réaliser une facture

FEN FICHE EMPLOIS NUISANCES

Création, analyse de questionnaires et d'entretiens pour Windows 2008, 7, 8 et MacOs 10

Guide d'utilisation. OpenOffice Calc. AUTEUR INITIAL : VINCENT MEUNIER Publié sous licence Creative Commons

Créer et partager des fichiers

Parcours FOAD Formation EXCEL 2010

Groupe Eyrolles, 2003, ISBN : X

Guide de l utilisateur. Faites connaissance avec la nouvelle plateforme interactive de

Utilisation du client de messagerie Thunderbird

RECOPLUS LOGICIEL DE GESTION DES RECOMMANDES NOTICE D UTILISATION DE RECOPLUS RESEAU. N de série

Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS

TP1 - Prise en main de l environnement Unix.

Afin d accéder à votre messagerie personnelle, vous devez vous identifier par votre adresse mail et votre mot de passe :

Access 2007 FF Access FR FR Base

Manuel de formation Spaceman 1 ère journée

COURS DE MS EXCEL 2010

Formation tableur niveau 1 (Excel 2013)

Contenu Microsoft Windows 8.1

ESPACE COLLABORATIF SHAREPOINT

Le langage C. Séance n 4

L export de SAS vers Excel expliqué à ma fille

Voyez clair dans vos finances avec AccèsD Affaires

Database Manager Guide de l utilisateur DMAN-FR-01/01/12

Une ergonomie intuitive

Formation. Module WEB 4.1. Support de cours

données en connaissance et en actions?

INSERER DES OBJETS - LE RUBAN INSERTION... 3 TABLEAUX

Sauvegarde et Restauration d un environnement SAS

Utilisation avancée de SugarCRM Version Professional 6.5

OSIRIS/ Valorisation des données PORTAIL BO MANUEL UTILISATEUR

Avertissement : Nos logiciels évoluent rendant parfois les nouvelles versions incompatibles avec les anciennes.

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE MINISTERE DE LA FORMATION PROFESSIONNELLE. Microsoft. Excel XP

1. Introduction Création d'une macro autonome Exécuter la macro pas à pas Modifier une macro... 5

Créer le schéma relationnel d une base de données ACCESS

MANUEL DE PROCÉDURE POUR LA MISE À JOUR DU SITE DE FIDAFRIQUE. Documentation utilisateur Octobre 2005

Séminaire d information MIGRATION WINDOWS 7 ET OFFICE 2010

The Grid 2: Manuel d utilisation

Guide d usage pour Word 2007

BIRT (Business Intelligence and Reporting Tools)

Premiers Pas avec OneNote 2013

INITIATION A EXCEL Année

Organiser le disque dur Dossiers Fichiers

CAPTURE DES PROFESSIONNELS

Access. Apprenez exactement ce dont vous avez besoin Progressez à votre rythme Téléchargez les exercices. Joyce Cox et Joan Lambert

Programme d Accès Communautaire / Atelier 4 Initiation à Microsoft Excel PLAN DE COURS 3 MICROSOFT EXCEL 4 LANCER EXCEL 4

Table des matières L INTEGRATION DE SAS AVEC JMP. Les échanges de données entre SAS et JMP, en mode déconnecté. Dans JMP

clef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE

Contenu Windows 8 MODULE 1 AVANT-PROPOS MODULE 2 INTRODUCTION À WINDOWS 8 MODULE 4 APPLICATIONS WINDOWS 8 PARTIE 1 MODULE 3 PARAMÈTRES DE WINDOWS 8

Guide de prise en main. Yourcegid SOLOS. Devis-Factures. 12/08/2013 Page 1 / 38

SUPPORT DE COURS ACCESS 2010

Écriture de journal. (Virement de dépense)

NETWORK & SOFTWARE ENGINEERING MANUEL D UTILISATEUR. Logiciel TIJARA. NETWORK AND SOFTWARE ENGINEERING Manuel d'utilisateur "TIJARA" 1

Business Intelligence avec Excel, Power BI et Office 365

SOMMAIRE. 1. Préambule Le calendrier Trajectoire d un objet lancé Régression linéaire...9

Cahier n o 6. Mon ordinateur. Fichiers et dossiers Sauvegarde et classement

Système de Gestion Informatisée des. Exploitations Agricoles Irriguées avec Contrôle de l Eau

Table des matières ENVIRONNEMENT

Comment créer des rapports de test professionnels sous LabVIEW? NIDays 2002

SOMMAIRE. 1. Connexion à la messagerie Zimbra Pré-requis Ecran de connexion à la messagerie 4

INTERWRITE Workspace

Support de formation Notebook

SUGARCRM MODULE RAPPORTS

Cegid Business Line. Version 2008 Release 2. Service d'assistance Téléphonique

Manuel du gestionnaire

Les dates SAS expliquées à ma fille

ERETES-SERIES. Support de formation. Formation ERETES ERETES-SERIE 1/58

Saisissez le login et le mot de passe (attention aux minuscules et majuscules) qui vous ont

hager Logiciel PC pour configurateur Radio Tebis TX 100 Manuel d utilisation 6T7266

Installation de CPA STUDIO :

FICHIERS ET DOSSIERS

Transcription:

SAS base Introduction à SAS SQL SAS IML Introduction Le système SAS est un ensemble de modules logiciels pour la gestion et le traitement statistique des données. À travers différents types d interfaces utilisateur, il permet l écriture de programmes SAS qui exécutent : les saisies, importations, interrogations, manipulations, transformations de données, les éditions d états, de rapports financiers, de graphiques, les analyses statistiques, modélisation, prévision, des applications spécifiques définies sous forme de macro-commandes et pouvant être pilotées par menu. Il existe plusieurs modules qui permettent un traitement de l information sans écrire une ligne de programme : les modules Insight, Enterprise Guide et Enterprise Miner ont été élaborés en ce sens. Il serait possible, en première approche, de se contenter de cette utilisation élémentaire mais l usage montre que ces solutions sont nécessairement limitées et qu un usage professionnel, associé à des contraintes spécifiques, rend incontournable l usage d une programmation basique. SAS propose plusieurs langages de programmation, qui se complètent et s enrichissent mutuellement. le langage de base, qui couvre 95% des utilisations et des besoins quotidiens autour de SAS : extraction, transformation, croisement de plusieurs sources d information, production et mise en forme de résultats. Le langage macro, série d instructions dédiées au paramétrage d un programme. Le SQL (Structured Query Language), commun à de nombreux logiciels de gestion de bases de données (SGBD), permettant également l extraction, la transformation et l appariement de données. L IML (Interactive Matrix Language), langage matriciel permettant de nombreux calculs mathématiques et statistiques. Ce cours abordera ces 4 langages, en insistant tout particulièrement sur 2 d entre eux : le langage de base et le langage macro. A l issue de cet enseignement, vous devrez être capable de manipuler les données à travers le langage SAS de base, paramétrer les traitements avec le langage macro, effectuer des traitements matriciels, et faire des traitements basiques de données avec SQL. Il est fortement recommandé, surtout dans la période de prise en main du logiciel, de consulter les manuels de SAS ou la documentation SAS en ligne afin notamment de prendre connaissance de la syntaxe et de l ensemble des options disponibles pour les procédures. La documentation SAS en ligne est disponible à l adresse : http://support.sas.com/onlinedoc/913/docmainpage.jsp Ce cours abordera les points suivants : l import de fichiers textes en tables SAS et l export de tables SAS en fichier texte, l utilisation de la proc import et de la proc export pour l import/export de différents types de fichiersl appariement de fichiers SAS et la transformation des variables (étapes DATA). les principales procédures d édition de tables, d analyse univariée et bivariée et de gestion de tables (étapes PROC). le langage SQL (Structured Query Language) de gestion des données informatiques des SGBD relationnels. le langage matriciel (module SAS IML). les graphiques avec SAS GRAPH. le macro langage SAS. 1

Au cours du TP, nous reprendrons ces différents points du cours. En outre : nous verrons comment utiliser le menu Import de données et Export de données de SAS pour importer et exporter des fichiers sans passer par la programmation dans l éditeur. nous aborderons le module SAS Insight. nous aborderons d autres procédures graphiques et statistiques couramment utilisées que nous n évoquerons pas en cours, et notamment : PROC PRINCOMP (analyse en composantes principales) PROC CORRESP (analyse des correspondances) PROC REG (régressions simple ou multiple) 2

Préalables 1. Les fenêtres de SAS 5 fenêtres s ouvrent au démarrage de SAS (ci-dessus après avoir choisi Fenêtre / Mosaïque verticale) : la fenêtre de programmation (éditeur) : entrer, éditer, compiler les programmes de SAS. Deux fenêtres de programmation sont disponibles à partir de la version 8 de SAS : le Program Editor et l Enhanced Editor. Dans l Enhanced Editor, des lignes horizontales marquent les grandes étapes du programme. Les carrés contenant un signe moins ou plus situés en marge du programme permettent de visualiser uniquement la première ligne de chaque étape, ou l intégralité du code de cette étape. Il est possible de condenser l ensemble d un programme via le menu Edit > Collapse all, et de le remettre en vue intégrale via Edit > Expand all. 3

la fenêtre Journal (ou fenêtre Log) : analyse de la syntaxe du programme exécuté (messages SAS après compilation). Les principaux messages du Journal sont : les notes (en bleu dans SAS Windows) : aucune anomalie dans le traitement demandé, les avertissements (Warnings) : il est possible que des erreurs non fatales aient eu lieu pendant le traitement, et les erreurs (Error, en rouge) : des erreurs graves de traitement ont eu lieu. De plus, SAS recopie (en noir) le code qui lui a été soumis, précédé de numéros de lignes incrémentés à chaque nouveau programme exécuté dans la session. Le message Error signale une erreur qui a stoppé l exécution de cette étape du programme. SAS traitant les étapes de manière indépendante, il a pu exécuter l étape suivante en dépit des erreurs rencontrées. Il en découle souvent des erreurs successives dans la fenêtre Log, dues à une erreur dans une des premières étapes du programme. Il est donc conseillé de reprendre la Log depuis le début de l exécution du code en question. C est d autant moins évident que SAS se positionne à la fin de la Log après exécution d un programme. Le message Warning indique une erreur qui n a pas stoppé l exécution de l étape parce que SAS sait gérer lui-même ce type d erreur (qui consiste souvent à générer des valeurs manquantes). La fenêtre Log n est pas purgée automatiquement pas SAS à l exécution d un nouveau programme. Les messages sont donc affichés à la suite de ceux concernant l exécution du code précédent. Il est souvent pratique, pour retrouver le début des messages, d effacer le contenu de la fenêtre (par le menu Edit > Clear all). la fenêtre Sortie (ou fenêtre Output) : sorties, listings, résultats après compilation des programmes, rapports générés par les procédures SAS et les étapes DATA. Elle est complétée par deux autres fenêtres pour l affichage des sorties : la fenêtre Graph pour les graphiques et la fenêtre Résultats (ou Results) qui montre sous forme arborescente les différentes sorties engendrées par le programme. 4

Sur l exemple précédent, on distingue : la fenêtre Output et sa police unique (SAS Monospace), la fenêtre Results qui montre sous forme arborescente les différentes sorties engendrées par un ou plusieurs programmes. La suppressions des sorties par morceaux est possible (faire un clic droit sur un des éléments de cette fenêtre et choisir Delete dans le menu contextuel), la fenêtre Graph qui montre la sortie d une procédure graphique de SAS. La fenêtre Output, comme la fenêtre Log, ne se vide pas à l exécution d un nouveau programme, mais ajoute de nouvelles sorties à la suite de celles existantes. Il est donc possible de purger cette fenêtre (par le menu Edit > Clear all). la fenêtre Explorer : emplacements physiques des répertoires, création de raccourcis, voir/ouvrir/déplacer/copier/supprimer des fichiers SAS. Elle permet de naviguer parmi les données SAS et en particulier de visualiser les tables SAS. 5

2. Les menus et les barres d outils Les menus disponibles sont variables en fonction de la fenêtre active. Les menus disponibles sont FILE, EDIT, VIEW, TOOLS, SOLUTIONS, WINDOWS et HELP. S y ajoute le menu RUN quand l éditeur est actif. FILE contient les commandes nécessaires à l ouverture d un programme, sa sauvegarde, l importation d un fichier de données, son exportation, et la commande permettant de fermer la session SAS. EDIT regroupe les commande d édition usuelles (couper/copier/coller, annuler) ainsi que celles pour le repli et le déploiement d un programme. On y trouve aussi la commande CLEAR ALL pour purger une fenêtre. VIEW permet de basculer entre les différentes fenêtres de l environnement de programmation, et également d ouvrir à nouveau une fenêtre fermée. TOOLS regroupe l appel à divers assistants SAS (retouches de graphiques, requêtes via une interface etc ). On y trouve également, dans un sous-menu OPTIONS, les réglages de la session SAS (aspect des fenêtres, préférences de l utilisateur, tableau des options système ). RUN permet l exécution du code tapé dans la fenêtre d édition active. SOLUTIONS permet d ouvrir diverses interfaces gravitant autour de SAS. WINDOW gère le fenêtrage de l environnement et permet comme VIEW de basculer d une fenêtre à une autre. HELP renvoie aux divers éléments de l aide en ligne de SAS. La barre d outils regroupe les icônes standards (nouveau, ouvrir, enregistrer, couper, copier, coller, annuler, imprimer, aperçu avant impression). Quand un éditeur est actif, l icône ci-contre s ajoute à la barre d outils : il permet l exécution du programme écrit dans la fenêtre active ; si une partie du programme est sélectionnée, alors seul ce morceau de code est soumis à SAS. A gauche de la barre d outils, une fenêtre rectangulaire, pouvant accueillir une seule ligne, est appelée fenêtre de commande. Elle trouve son intérêt dans les versions dépourvues de menus. Dans ces versions, elle apparaît en première ligne de chaque fenêtre, sous la forme d une ligne blanche précédée de COMMAND. Elle permet, en y tapant et soumettant des commandes, d obtenir des manipulations semblables à celles proposées par les icônes de la barre d outils, et par certains items des menus. Par exemple, une commande utile est KEYS, qui permet d afficher la liste des raccourcis clavier de SAS. 3. Modules SAS est un logiciel organisé en modules qui sont des groupes de fonctionnalités. Ce système sert de base de tarification, mais aussi d organisation logique. Les procédures sont rattachées à un module et ne sont donc pas toutes disponibles sur toutes les installations de SAS. Par exemple, la proc IML, qui permet d utiliser le langage IML, n est disponible que si le module IML a été installé. Le logiciel SAS est loué à l année, sous forme de licence. Cette licence autorise l emploi, pour une durée limitée, de certains modules. Dans la version 9, un fichier SAS Installation Data spécifie les modules contenus dans la licence. Il remplace le programme Setinit des versions antérieures. Les principaux modules de SAS : SAS Base : pierre angulaire de SAS, ce module contient les instructions pour la manipulation de données, les statistiques descriptives élémentaires et l édition de rapports. Ce module permet de programmer dans le langage SAS de base, ainsi que dans les langages SQL et macro. 6

SAS Stat : il regroupe les procédures de modélisation (régressions diverses), de classification (regroupement d individus semblables) et de statistiques descriptives. SAS Graph : ce module permet l édition de graphiques de toutes sortes : nuages de points, courbes, diagrammes circulaires et en bâtons, cartes géographiques. SAS Access : cette série de modules permet l importation et l exportation de données d autres applications. SAS Connect : le module CONNECT permet de faire fonctionner SAS en mode client/serveur. SAS ETS : ce module statistique regroupe entre autres les fonctionnalités d étude des données temporelles (ETS : Econometrics and Time Series). SAS FSP : ce module permet la manipulation de données en plein écran (FSP : Full Screen Products). SAS AF : ce module permet la construction d interfaces clique-bouton par-dessus SAS, sur un mode de fonctionnement analogue à Visual Basic pour les applications Microsoft (AF = Application Facility). SAS EIS : il permet la constitution et la visualisation de tableaux de bords synthétiques regroupant des statistiques et des graphiques (EIS : Execuive Information System). SAS Assist : ce module est une interface clique-bouton pour la création de programmes SAS. Toutes les manipulations sont paramétrées par menus et fenêtres de dialogue. SAS IML : ce module permet d utiliser un langage matriciel (IML : Interactive Matrix Language). SAS Insight : analyse statistique interactive. 4. SAS Enterprise Guide SAS Enterprise Guide (ou SEG) est un logiciel Windows permettant, par un système de menus et de fenêtres de dialogue, de réaliser des extractions, de croiser des sources de données hétérogènes, de produire des tableaux, des graphiques et des statistiques. Il génère des programmes SAS et intègre également un éditeur de programmes, afin d ajouter ou d amender du code. SEG produit des sorties dans les formats les plus courants : page Web, document PDF, document Word, feuille Excel. Enterprise Guide est un croisement entre SAS et Excel. Il a hérité du premier la puissance de calcul et le langage souple. SEG hérite d Excel son ergonomie dans la présentation des données, la simplicité de fonctionnement, le rôle prééminent des fenêtres de dialogue. Il est possible de remplacer toute programmation par l utilisation intensive de SAS Enterprise Guide, mais toute application constituée de menus et de fenêtres de dialogue trouve sa limite dans une opération non prévue initialement, qu il faudra à nouveau programmer. 5. Session SAS Quand on démarre le logiciel SAS, on ouvre une «session SAS». Cette session se termine par la fermeture du logiciel. Au sein d une session SAS, de nombreux réglages sont temporaires. Ils durent le plus souvent jusqu à la fermeture de la session. 7

6. Sorties On parle de sorties en général pour désigner l ensemble des résultats produits par SAS. Ces sorties peuvent prendre différents aspects selon les instructions du programme exécuté. Le programme peut produire : une ou plusieurs table(s) SAS ; du texte, appelé généralement listing, d une mise en forme minimale (police de caractères unique, pas de gras ni d italique). Le listing est le mode par défaut d affichage de résultats par SAS ; un ou plusieurs graphique(s) qui font l objet d un affichage séparé. 7. Les contraintes du langage SAS On ne doit pas couper une instruction par un retour de ligne, Les majuscules et minuscules, hormis quelques cas très précis, ne sont pas différenciés par SAS, Les commentaires, encadrés par les signes /* et */, peuvent être intégrés à n importe quel endroit du programme, à la seule condition de ne pas couper une instruction, La contrainte la plus incontournable dans SAS est l obligation de terminer chaque instruction par un point-virgule. 8. Concepts et vocabulaire Nous allons commencer par survoler les concepts qu il est essentiel d avoir intégrés avant de commencer la programmation dans SAS. Tout au long de ce cours, nous parlerons : de bibliothèque (ou librairie), de table, de vue, d observation, de variable, de label, de format, d une étape Data, d une étape Proc. Les premiers concepts font référence à la manière dont SAS stocke et accède aux données. Quelques instructions et manipulations sont nécessaires, comme : allouer une bibliothèque, visualiser son contenu, voir une table, voir les variables d une table. Les concepts suivants traite du décalage qui existe à travers les labels et les formats entre les données vues à l écran et la réalité qu il faut programmer. Les derniers concepts concernent la programmation, et fait la distinction entre l étape Data et les procédures, qui sont les deux grandes étapes de programmation de SAS. 8

1. Deux étapes : DATA et PROC Un ensemble d instructions constitue une étape. Dans SAS, on distingue deux grands types d étapes de programmation : les étapes Data et les étapes procédures, également appelées «étapes proc». Un programme SAS est un enchaînement d étapes de gestion des données (étape DATA) et d appels de procédures (étape PROC). On repère, dans un programme SAS, le début et la fin d une étape par les mots-clés DATA ou PROC au début, et les instructions RUN, et/ou QUIT à la fin. 1. 1. Etape DATA : création d une table SAS et structuration des données Afin de pouvoir traiter des données avec SAS, il convient d abord de les mettre sous un certain format, interne à SAS. SAS possède en effet son propre système de gestion de bases de données (étape DATA), bâti sur la notion de table (SAS DATA SET nommé par la suite TABLE SAS selon la terminologie en vigueur en France). Toute étape DATA débute par l instruction DATA nom_de_table où nom_de_table est le nom de la table SAS créée. Si aucune table SAS n est créée (cas par exemple de la recopie d une table dans un fichier texte), alors l étape DATA débutera par l instruction DATA _NULL_. L étape DATA se termine par l instruction RUN. Syntaxe : DATA tablesas ; instructions diverses ; RUN ; L étape Data permet de manipuler, observation par observation, un jeu de données. Les données entrantes ou sortantes peuvent être une table SAS ou un fichier externe. Lors d une étape DATA, on pourra en outre structurer les données et notamment : importer un fichier texte pour créer une table SAS, créer de nouvelles variables, exporter d une table SAS vers un fichier texte, sélectionner une partie d une table SAS et la stocker dans une autre table, fusionner plusieurs tables SAS faire une requête sur une table SAS, On peut créer des tables SAS permanentes ou temporaires. Les tables temporaires sont effacées lorsqu on quitte la session. On appelle table SAS la représentation la plus courante des données utilisées par ce logiciel. Ces données sont organisées en lignes et en colonnes, également appelées observations et variables. 1. 2. Etape PROC : analyse d une table SAS Une fois que les données ont été structurées sous la forme d une table, elles peuvent être analysées au moyen de procédures (étape PROC). Les procédures sont des programmes déjà écrits de SAS, à la syntaxe beaucoup moins libre que celle de l étape Data, où il faut surtout renseigner un certain nombre de paramètres et faire jouer certaines options. Les procédures, qui sont assez nombreuses (aux alentours de 200 sur l ensemble des modules de SAS), accomplissent chacune une tâche spécialisée : tri des données, listing d une table, création de formats, calcul de statistiques descriptives, analyse factorielle, etc. 9

Chaque procédure commence par une instruction PROC suivie de son nom, et s achève sur une instruction RUN ; qui demande l exécution de cette procédure. Certaines procédures, notamment les procédures graphiques, demandent de surcroît une instruction QUIT ; pour clore réellement leur syntaxe. Syntaxe : PROC nomprocédure <option(s)> ; instructions diverses ; RUN ;<QUIT> ; Pour la plupart des procédures, SAS propose de nombreuses options. L exemple suivant distingue une étape, une instruction et une option. Cet exemple permet l édition de statistiques sur les ventes. PROC MEANS DATA=base.ventes MEAN MEDIAN MIN MAX ; VAR mt_der ; RUN; est une étape (la procédure MEANS) sont des options est une instruction. 2. Différences entre une vue et une table Les fichiers de données lus et créés par SAS sont d un type qui est spécifique à ce logiciel : ce sont des tables et des vues. Dans les deux cas, les données sont organisées sous forme tabulaire, avec des lignes (observations) et des colonnes (variables). Si on ouvre une vue à partir de la fenêtre Explorer, on constate la similitude d aspect avec une table. C est en fait le mode de stockage qui diverge entre vue et table. Une table est une photo des données : elle stocke des données qui ne changeront plus jusqu à la création d une nouvelle version de la table. Une vue est un lien vers un ensemble de données : elle ne contient qu une requête, qui sera réexécutée à chaque accès à la vue. L avantage d une vue sur une table est double : place réduite pour le stockage et données perpétuellement à jour sans nécessiter d intervention de l utilisateur. La table, en revanche, permet un accès plus rapide aux données, et également de figer dans le temps un état : cela s avère pratique pour conserver un historique à partir de données mouvantes. Le nom d une table ou d une vue SAS doit respecter les contraintes suivantes : la longueur maximale du nom est de 32 caractères ; le premier caractère est une lettre ou un blanc souligné _.Les caractères suivants peuvent être des lettres, des blancs soulignés ou des chiffres ; dans la plupart des cas, SAS ne distingue pas les minuscules et les majuscules. Ainsi, si par exemple on a défini la variable Gini, on peut la rappeler en écrivant GINI, gini, etc. ; certains noms correspondent à des variables automatiques de SAS (exemple : _N_, qui correspond au numéro d observation dans la table SAS 1 ) ou à un certain type de tables SAS 1 _N_=1 pour la première observation de la table, 2 pour la deuxième observation, etc 10

(exemple : data _NULL_) et ne peuvent pas être utilisés pour nommer des variables ou des tables créées par l utilisateur. 3. Eléments d une table 3. 1. Les observations On désigne par ce nom les lignes d une table ou d une vue SAS. Chaque observation correspond à une unité de comptage ; en statistique, on parle d «individu statistique». Chaque observation porte un numéro. Il est séquentiel et recalculé à chaque création de la table. 3. 2. Les variables Les variables sont les colonnes d une table ou d une vue SAS. Chaque variable correspond à une information connue sur les observations. Toutes les variables requièrent obligatoirement trois attributs : nom type (numérique ou caractères) longueur. Une variable peut également posséder un label, un format et un informat. Le nom d une variable doit respecter les contraintes suivantes : la longueur maximale du nom est de 32 caractères ; le premier caractère est une lettre ou un blanc souligné _.Les caractères suivants peuvent être des lettres, des blancs soulignés ou des chiffres ; dans la plupart des cas, SAS ne distingue pas les minuscules et les majuscules. Ainsi, si par exemple on a défini la variable Gini, on peut la rappeler en écrivant GINI, gini, etc. ; certains noms correspondent à des variables automatiques de SAS (exemple : _N_, qui correspond au numéro d observation dans la table SAS 2 ) et ne peuvent pas être utilisés pour nommer des variables ou créées par l utilisateur. Variables caractères : On peut définir des variables caractères d une longueur de 1 à 32 767 caractères. On leur affecte une valeur de la manière suivante : var1 = Paris ; /*entre */ var2 = "1990-1991" ; /*entre "*/ var3 = Ile de France ; var4 = Côte d"armor ; 2 _N_=1 pour la première observation de la table, 2 pour la deuxième observation, etc 11

Variables numériques : SAS reconnaît les nombres sous les formes suivantes : entiers : 5683 ; entiers relatifs : -5 ; réels : 2.85 ; notation scientifique : 5.4E-1 ; dates : '24aug90'd. Une date est ainsi définie le plus souvent comme numérique. SAS stocke les dates comme un nombre de jours depuis le 1 er janvier 1960. Le label Le label d une variable est un texte libre de 256 caractères maximum, qui permet de décrire le contenu de la variable, de donner sa définition, de décrire éventuellement ses valeurs, de manière plus complète et plus lisible que ne peut le faire le nom. Le format Le format est un masque d affichage des données. Il permet d assurer une transition entre les valeurs telles qu elles sont stockées (de manière parfois peu lisible : les dates sont stockées comme un nombre de jours depuis le 1 er janvier 1960) et les valeurs telles qu elles sont affichées. On trouvera en annexe 1 les formats les plus courants fournis par SAS. En complément de ces formats, SAS propose, avec un programme (la procédure FORMAT que l on étudiera ultérieurement), de définir des formats personnalisés correspondant aux différents besoins (tranches de revenus, libellés des départements français, etc ). La longueur La longueur (length) d une variable est la place prévue pour le stockage de chacune de ses valeurs. SAS prévoit par défaut d utiliser 8 octets pour chaque valeur. Les longueurs autorisées sont : de 1 à 32767 octets pour une variable caractères, de 2 à 8 octets pour une variable de type numérique. Sous Windows, les longueurs possibles sont comprises en 3 et 8 octets seulement. L informat Un informat est un masque de saisie d une variable. C est le symétrique du format ; il s applique aux données telles qu elles sont lues lors de la création de la table SAS à partir d un fichier externe. Ainsi, pour reprendre l exemple d une date, on peut avoir une donnée stockée sous la forme 20010125 qui désignerait le 25/01/2001. SAS doit comprendre que c est une date et stocker le nombre 15000 (car le 25 janvier 2001 est le 15000 ème jour depuis le 1 er janvier 1960). L informat permet d indiquer comment faire cette transformation, et particulier le fait que, dans la valeur lue, les quatre premiers chiffres sont ceux de l année, les 2 suivants ceux du mois, et enfin ceux du jour. 12

4. Manipulations de tables SAS Le but premier de SAS est la manipulation de données, avant même de commencer les traitements statistiques proprement dits. Ce chapitre est consacré à la création d une table SAS à partir d une ou de plusieurs sources de données, principalement à travers l étape Data. L étape Data permet entre autres : la création de tables SAS, la création de nouvelles variables, la modification de variables existantes, la fusion et la jointure de plusieurs tables, l importation et l exportation de données. L étape Data regroupe une série d instructions permettant la manipulation ligne à ligne d un jeu de données. L étape Data n affiche rien dans la fenêtre Output, sauf cas exceptionnels. 4. 1. Structure et stockage des tables Une table se présente sous forme d une matrice croisant en ligne les observations en en colonne les variables. Exemple : Les données de cet exemple (fichier PAYS), avec lequel nous travaillerons également en TP, proviennent d un article de Russet (1964). Russet cherche à montrer que l inégalité économique entraîne l instabilité politique. Pour mesure l inégalité économique, Russet utilise des variables décrivant la répartition des terres agricoles, le produit national brut par tête et le pourcentage de personnes actives travaillant dans l agriculture : la variable GINI représente l indice de concentration de Gini qui mesure l écart entre la courbe de Lorenz et la droite d égalité, la variable FARM correspond au pourcentage de fermiers possédant la moitié des terres, en commençant par les plus petites surfaces. Si FARM vaut 90%, alors la moitié des terres est possédée par 10% des fermiers, la variable RENT mesure le pourcentage de fermiers locataires de leurs terres, la variable GNPR (gross national product per capita) est la produit national brut par tête en dollars U.S. en 1955, la variable LABO est égale au pourcentage de personnes actives travaillant dans l agriculture. Il y a quatre mesures de l instabilité politique : la variable INST est une fonction du nombre de responsables du pouvoir exécutif et du nombre d années pendant lesquelles le pays a été indépendant entre 1945 et 1961. Cet indice varie entre 0 (très stable) et 17 (très instable), la variable ECKS est l indice d Eckstein calculé sur la période 1946-1961. Il mesure le nombre de conflits violents entre communautés sur cette période, la variable DEAT est le nombre de personnes tuées lors de manifestations violentes sur la période 1950-1962, la variable DEMO classe les pays en trois groupes : démocratie stable (1), démocratie instable (2) et dictature (3). Les données d origine sont reproduites dans le tableau suivant : 13

Obs Pays gini farm rent gnpr labo inst ecks deat demo 1 Argentine 86.3 98.2 32.9 374 25 13.6 57 217 2 2 Australie 92.9 99.6. 1215 14 11.3 0 0 1 3 Autriche 74 97.4 10.7 532 32 12.8 4 0 2 4 Belgique 58.7 85.8 62.3 1015 10 15.5 8 1 1 5 Bolivie 93.8 97.7 20 66 72 15.3 53 663 3 6 Brésil 83.7 98.5 9.1 262 61 15.5 49 1 3 7 Canada 49.7 82.9 7.2 1667 12 11.3 22 0 1 8 Chili 93.8 99.7 13.4 180 30 14.2 21 2 2 9 Colombie 84.9 98.1 12.1 330 55 14.6 47 316 2 10 Costa Rica 88.1 99.1 5.4 307 55 14.6 19 24 2 11 Cuba 79.2 97.8 53.8 361 42 13.6 100 2900 3 12 Danemark 45.8 79.3 3.5 913 23 14.6 0 0 1 13 Rép. Dominic. 79.5 98.5 20.8 205 56 11.3 6 31 3 14 Equateur 86.4 99.3 14.6 204 53 15.1 41 18 3 15 Egypte 74 98.1 11.6 133 64 15.8 45 2 3 16 Espagne 78 99.5 43.7 254 50 0 22 1 3 17 Etats-Unis 70.5 95.4 20.4 2343 10 12.8 22 0 1 18 Finlande 59.9 86.3 2.4 941 46 15.6 4 0 2 19 France 58.3 86.1 26 1046 26 16.3 46 1 2 20 Guatemala 86 99.7 17 179 68 14.9 45 57 3 21 Grèce 74.7 99.4 17.7 239 48 15.8 9 2 2 22 Honduras 75.5 97.4 16.7 137 66 13.6 45 111 3 23 Inde 52.2 86.9 53 72 71 3 83 14 1 24 Irak 88.1 99.3 75 195 81 16.2 24 344 3 25 Irlande 59.8 85.9 2.5 509 40 14.2 9 0 1 26 Italie 80.3 98 23.8 442 29 15.5 51 1 2 27 Japon 47 81.5 2.9 240 40 15.7 22 1 2 28 Libye 70 93 8.5 90 75 14.8 8 0 3 29 Luxembourg 63.8 87.7 18.8 1194 23 12.8 0 0 1 30 Nicaragua 75.7 96.4. 254 68 12.8 16 116 3 31 Norvège 66.9 87.5 7.5 969 26 12.8. 0 1 32 Nlle Zélande 77.3 95.5 22.3 1259 16 12.8 0 0 1 33 Panama 73.7 95 12.3 350 54 15.6 29 25 3 34 Pays-Bas 60.5 86.2 53.3 708 11 13.6 2 0 1 35 Pérou 87.5 96.9. 140 60 14.6 23 26 3 36 Philippines 56.4 88.2 37.3 201 59 14 15 292 3 37 Pologne 45 77.7 0 468 57 8.5 19 5 3 38 RFA 67.4 93 5.7 762 14 3 4 0 2 39 Royaume-Uni 71 93.4 44.5 998 5 13.6 12 0 1 40 Salvador 82.8 98.8 15.1 244 63 15.1 9 2 3 41 Sud Vietnam 67.1 94.6 20 133 65 10 50 1000 3 42 Suède 57.7 87.2 18.9 1165 13 8.5 0 0 1 43 Suisse 49.8 81.5 18.9 1229 10 8.5 0 0 1 44 Taiwan 65.2 94.1 40 132 50 0 3 0 3 45 Uruguay 81.7 96.6 34.7 569 37 14.6 1 1 1 46 Venezuela 90 99.3 20.6 762 42 14.9 36 111 3 47 Yougoslavie 43.7 79.8 0 297 67 0 9 0 3 On peut stocker les tables de façon permanente ou temporaire. La table temporaire est détruite à la fin de la session SAS en cours. 4. 1. 1. Les librairies, les tables permanentes et temporaires Une table temporaire sera représentée par un simple nom_de_table. Une table permanente se présentera de la manière suivante : nom_de_librairie.nom_de_table où nom_de_librairie représentera la librairie (c est à dire le répertoire) où la table est stockée. La librairie est définie lors d une instruction LIBNAME assurant la correspondance entre le nom_de_librairie et le nom physique («réel») de la librairie. 14