Archives pour avril 2009

h1

Récupérer la valeur d’une option système dans une macro variable, %SYSFUNC(GETOPTION())

avril 30, 2009

Les options SAS modifiables au moyen de l’instruction globale OPTIONS peuvent être retrouvées dans une étape data ou autre au moyen de %SYSFUNC(GETOPTION()).

Par exemple, cette semaine, j’ai eu besoin de savoir combien de caractères par ligne je pouvais entrer dans ma sortie (fenêtre OUTPUT). En d’autres termes, je voulais connaître la LINESIZE et en fonction d’elle ajuster les colonnes de mon listing généré au moyen d’un simple PROC REPORT.

1. Lire dans la LOG l’information

L’instruction PROC OPTIONS permet de lister toutes les options dans la fenêtre LOG de SAS. En ajoutant OPTION=, l’affichage est réduit à la seule option LINESIZE.

proc options option=linesize;
run;

Dans notre exemple, l’option LINESIZE est de 91. Jusqu’à 91 caractères pourront être affichés sur une même ligne avec un PROC PRINT ou autre.

LINESIZE=91 Line size for SAS log and SAS procedure output
NOTE: PROCEDURE OPTIONS used (Total process time):
real time 0.00 seconds
cpu time 0.00 seconds

2. Sauvegarder l’information dans une macro variable

Pour illustrer la syntaxe %SYSFUNC(GETOPTION()), je choisi de sauvegarder l’information dans une macro variable appelée CURRENT_LS. Cette valeur est ensuite affichée dans la LOG au moyen de l’instruction %PUT.

%let current_ls=%sysfunc(getoption(linesize));
%put &current_ls.;

Vous pouvez directement inclure %SYSFUNC(GETOPTION()), dans une instruction globale comme TITLE si vous le souhaitez.

La liste des options du système SAS est grande. A vous d’explorer les possibilités que vous offre cette notation.

h1

Changer la longueur d’une variable avec PROC SQL (instruction ALTER)

avril 27, 2009

En SAS, l’instruction ALTER de PROC SQL a la capacité de changer le libellé d’un data set, modifier le format/informat ou le libellé d’une variable. Mais son principale intérêt réside dans sa capacité à modifier la longueur d’une variable caractère sans changer la position de la variable dans le data set.

1. Comparaison avec deux autres méthodes : PROC DATASETS et l’étape DATA

Alors que PROC DATASETS permet de modifier le format/informat, le libellé d’une variable ou de renommer une variable, il ne permet pas de changer la longueur d’une variable.

Avec une simple étape data, il est possible de modifier la longueur de la variable en ajoutant une instruction LENGTH avant de lire les donnees avec un SET/MERGE… Mais la séquence d’affichage des variables n’est plus respecté. Il faut soit avoir sauvegardé au préalable l’ordre d’affichage (ou l’entrer manuellement, bof !), soit utiliser l’instruction ALTER de PROC SQL…

2. Quelques données pour tester soi-même

* Create two formats SEX and GENDER;
proc format;
value $ sex ‘M’=‘Male’
‘F’=‘Female’;
value $ gender ‘M’=‘Homme’
‘F’=‘Femme’;
run;

*Create a data set named CLASS ;
*based on the SASHELP.CLASS data set ;
*adding the SEX format to the SEX variable;

data class;
set sashelp.class;
format sex sex.;
run;

3. L’instruction ALTER pour modifier la longueur d’une variable

Dans l’instruction ALTER de PROC SQL, le mot-clé MODIFY introduit deux variables SEX et NAME à modifier.

proc sql;
alter table class (label=‘Changes with PROC SQL and ALTER’)
modify sex format=$gender.,
name char(20) label=‘Student Name’;
quit;

Changement le plus intéressant :

  • La longueur de la variable caractère NAME est à l’origine 8. Elle est remplacée par 20.

Quelques changements secondaires :

  • Libellé de data set : Dans l’exemple ci-dessus le data set CLASS a pour libellé ‘Changes with PROC SQL and ALTER’.
  • format de variable : Le format de la variable SEX est à l’origine $SEX. Il est ici remplacé par le format $GENDER.
  • Libellé de variabel : Le libellé de la variable NAME est ajouté. Il s’agit de ‘Student Name’.

A retenir :

  1. Seules les variables caractères peuvent avoir leur longueur changées au moyen de l’instruction ALTER.
  2. Cette instruction permet certe de modifier le format d’un data set. Néanmoins, elle ne permet pas de supprimer tous les formats d’un data set.

Lectures complementaires :

SAS Online DOC

h1

Allo Support, 7 ans d’existence et 25 numéros publiés

avril 23, 2009

Entre 1999 et 2006, SAS Support France a publié une publication appelé “Allo Support” au format pdf. Fin 2006, cette publication été renommée ”A la une du support”. Courant 2007, une lettre de diffusion plus généraliste remplaça cette publication : la Newsletter SAS France (requiert une inscription en ligne).

1. Les premiers numéros, un design qui se cherche

Numéro 0 (juin 1999)

  • Euro
  • An 2000
  • Support de Windows 98
  • Liens DDE et Excel 97
  • Unix : fichiers de plus de 2 giga-octets
  • Documents Web et Système SAS®
  • Open OLAP Server

Numéro 1 (novembre 1999)

  • An 2000 – Disponibilité du Support Clients
  • Windows et OS/390 : Le système SAS® en version française
  • Dernières versions de maintenance disponibles
  • Compatibilité du système SAS® avec le système d’exploitation OS/390
  • Support des versions TCP/IP d’IBM dans l’environnement OS/390
  • UNIX : le support des dernières versions
  • Le SGBD Teradata et le système SAS®
  • ADD-ON : Utilisation d’Excel 97
  • Serveurs NT – impressions

Numéro 2 (février 2000)

  • SAS/STAT® : procédure PLS
  • Scalable Performance Data Server™ : performances et volumétrie
  • SAS/IntrNet® : point sur les versions
  • Graphiques JAVA avec SAS/GRAPH®
  • Réseau NOVELL et système SAS®
  • Ressources système – commandes UNIX
  • COB2SAS : COBOL et système SAS®

Numéro 3 (juillet 2000)

  • Version 2.5 : les nouveautés
  • La solution HOLAP du système SAS® V8
  • Où destinez-vous votre sortie ?
  • Installation de la V8 du système SAS® sous Windows
  • Option ctrythousandseparator
  • De la version 6 à la version 8

Numéro 4 (septembre 2000)

  • Gestion des données en V8
  • Contrôle d’accès aux données avec SAS/EIS®
  • Enterprise Guide® : configuration d’un serveur NT
  • AppDev 1.2 : nouveautés et pré-requis
  • SAS/GRAPH® : utilisation des polices “Hardware”
  • SAS® sur Linux
  • Résultats SAS® : exemple d’utilisation
  • Compatibilité des sorties statistiques V6.12 vers V8

Numéro 5 (avril 2001)

  • Les nouveautés de la version Enterprise Miner™ V4
  • L’accès aux données Oracle depuis SAS®
  • SAS/IntrNet® : mise en place du service NT
  • IT Service Version : support de la version 8
  • Enterprise Guide® : configuration d’un serveur OS/390

Numéro 6 (juillet 2001)

  • Le système SAS® et l’Euro
  • Accéder à SAS® depuis un éditeur HTML
  • Communiquer avec l’OS/390
  • Installer des programmes SAS en tant que service
  • Configurer des applets avec IIS

Numéro 7 (novembre 2001)

  • La PROC PRINT a du style
  • Sorties SAS dans Word ? Oui c’est possible.
  • SAS et XML
  • SAS/GIS® : nouveautés de la V6 à la V8
  • Installation de SAS® sur un serveur Windows
  • Pré-requis systèmes pour SAS® et Enterprise Guide®
  • Support des caratères nationaux en version 8.2

Numéro 8 (avril 2002)

  • Les aides du système SAS® en V8 sous Windows
  • Comment accéder à SAS sous Unix à partir d’Enterprise Guide®
  • Définition des ACL via programmation
  • Accès à SQL Server en version 8
  • Le système d’exploitation z/OS et le système SAS®

Numéro 9 (septembre 2002)

  • La gestion des titres et des sauts de page avec ODS
  • Transfert de données SAS entre environnements
  • Créer et utiliser une base multi-dimensionnelle avec Enterprise Guide®
  • Comment configurer SAS® sous Unix en mode client-serveur ?

Numéro 10 (décembre 2002)

  • Qu’en est-il de l’OEM en version 8 ?
  • Comment récupérer un diagramme de SAS® Enterprise Miner™ endommagé ?
  • L’utilisation des variables catégorielles avec la procédure LOGISITIC
  • Administrateur d’Enterprise Guide®
  • Installation et partage du référenciel de SAS Enterprise Guide® Version 1.3
  • JSP®, JDBC® et SAS®
  • Augmenter les performances au niveau du module SAS/ACCESS® to Oracle

Numéro 11 (juin 2003)

  • Résultat de l’enquête de satisfaction Support Clients
  • Un graphique JAVA accessible par tout le monde
  • SAS Enterprise Guide® a du style
  • Administrateur de SAS Enterprise Guide® : limiter la liste des tâches
  • Comment créer un Event Handler en version 8
  • Diagnostiquer un problème avec le Spawner SAS Connect® sous MVS

2. Un design qui se peaufine

Numéro 12 (décembre 2003)

  • Du français dans vos rapports
  • Les formats datetime à la française
  • Documentation en ligne SAS®
  • Etendre les fonctionnalités de SAS Enterprise Guide®
  • Accès aux données OS390 depuis SAS Enterprise Guide®
  • SAS® Enterprise Miner™ : visualiser et imprimer les arbres de décision en un clic
  • Les outils d’analyse du SCL®
  • ASP et SAS®
  • Utilisation de la mémoire au niveau du système sous Unix

Numéro 13 (février 2004)

  • Les vues dictionnaires de la SASHELP
  • Optimisez vos étapes DATA avec les Array
  • Naviguez depuis vos cartes SAS/GRAPH ®
  • Comment récupérer des données SAS MVS dans Excel
  • Java Server Pages (JSP) : particularités avec les objets graphiques lors d’un déploiement sous Unix
  • Comment exporter une structure HOLAP en programmation SCL ?
  • SAS® Enterprise Miner™ : deux façons d’utiliser le nœud Score pour calculer des prédictions

Numéro 14 (avril 2004)

  • Résultats de l’enquête de satisfaction Support Clients
  • SAS®9 : adieu le setinit, bonjour le SID
  • Gestion des sauts de page dans vos restitutions HTML
  • Les extensions du Système SAS®
  • Le Call Execute
  • Accéder à SAS depuis un terminal mobile
  • Le SAS Job Spawner sur Windows

Numéro 15 (août 2004)

  • Proc MIGRATE
  • SAS® Software Depot
  • SAS®9 sur Unix
  • Les nouveautés SAS/GRAPH
  • De SAS® Enterprise Guide® 2.0 à SAS® Enterprise Guide® 2.1
  • SAS® Text Miner
  • Manipulation des commandes dans les fenêtres de l’environnement SAS
  • L’utilisation de l’option Schéma au niveau du module SAS/ACCESS® to ORACLE

Numéro 16 (novermbre 2004)

  • Installation de SAS® 9.1.3 Foundation sous Windows
  • Les nouvelles fonctions de SAS Base en SAS® 9
  • Les nouveautés XML de la SAS 9.1
  • Une nouvelle procédure pour coder vos mots de passe : PROC PWENCODE
  • Des graphiques statistiques automatiques grâce à l’ODS Graphics
  • De SAS® Enterprise Guide® 2.0 vers 3.0 : compatibilités
  • Définir un serveur SAS/CONNECT® au travers de la SMC
  • Sécurité et structures multimensionnelles OLAP en SAS® 9
  • SAS® Management console : définir des sources de données sur Mainframe z/OS
  • Les contraintes d’intégrité dans le système SAS®

Numéro 17 (janvier 2005)

  • Organisez vos rapports SAS 9 avec l’ODS Document
  • Utilisation des “expressions régulières PERL” dans SAS 9
  • Nouveautés SAS/STAT® : PROC MI et PROC MIANALYZE
  • SAS® Enterprise Miner™ 5.1 : où et comment assigner les bibliothèques ?
  • Les bibliothèques au moteur META
  • Introduction aux “Stored Process” ou “Applications Stockées”
  • Quels sont les outils disponibles pour visualiser un cube OLAP SAS®9 ?
  • Une application web pour visionner ses Maps en quelques clics

3. Un design agréable à l’oeil

Numéro 18 (mars 2005)

  • Installation de SAS Foundation 9.1.3 sous Unix
  • Application du Service Pack 1 dans l’environnement Windows
  • La SAS Management Console sous Unix
  • Une nouveauté SAS®9 dans le module SAS/STAT® : la procédure POWER
  • Utilisation de paramètres dans les Applications Stockées
  • SAS®9, IOM et développement
  • L’ordonnancement avec SAS®9
  • Envoi de message à partir de SAS

Numéro 19 (juin 2005)

  • Résultats de l’enquête de satisfaction Support Clients
  • Utilisation de XML MAPPER
  • Une interface web pour la procédure POWER
  • Ordonnancer une tâche créée avec SAS® ETL Studio
  • SAS® OLAP Cube Studio : 2 nouveaux utilitaires en SAS® 9.1.3 Service Pack2
  • Utiliser SAS® Enterprise Guide® avec des comptes LDAP

Numéro 20 (octobre 2005)

  • Introduction à SAS® Open Metadata Architecture
  • Les styles dans SAS® Enterprise Guide® 3.0
  • Intégration de SAS® Enterprise Guide® 3.0 dans l’architecture BI
  • SAS® Add-In for Microsoft Office® Accéder aux fonctionnalités SAS depuis Microsoft Office
  • SAS® Web OLAP Viewer for .NET
  • Les cubes OLAP SAS®9 : des structures facilement transportables
  • Partager ses données SAS® Enterprise Miner™ 5.1 avec le SAS Model Repository Viewer

Numéro 21 (février 2006)

  • Le support client… en quelques clics !
  • De la création d’un fichier Excel en SAS® 9.1
  • Deux instructions expérimentales en SAS®9 : ODS Layout et ODS Region
  • Un utilitaire de SAS® Enterprise Guide® : EGPMOVER
  • Paramétrage de SAS sous Unix fichier sasenv
  • Personnaliser le SAS Workspace Server pour SAS® Enterprise Miner™ 5.x

Numéro 22 (avril 2006)

  • A la découverte du symbole “:”
  • Les procédures IMPORT et EXPORT
  • Interaction entre SAS® et le système
  • Migration de SAS® Enterprise Miner™ 5.1 vers 5.2
  • La procédure METAOPERATE

Numéro 23 (juillet 2006)

  • Enterprise Guide® version 4 : des nouveautés au niveau des applications stockées
  • SAS/IML® Workshop 2.1
  • Quelques nouveautés SAS 9 de la procédure LOGISTIC
  • A la découverte de la procédure INFOMAPS…
  • L’ARM pour contrôler vos applications de SAS/BASE® A OLAP SERVER

Numéro 24 (novembre 2006)

  • Changer la langue du produit SAS® sous Windows
  • Le support des dernières version UNIX et SAS 9.1.3
  • Les nouveautés de SAS Integration Studio® 3.4
  • Des éditions sur mesure avec l’ODS orienté objet
  • Tout savoir sur l’utilisation des modèles de SAS® Enterprise Miner™ dans SAS Enterprise Guide® 4.1
  • Activer la publication de rapports SAS Enterprise Guide® vers SAS Web Report Studio® 3.1
  • Accéder aux données relatives aux infomations maps avec le moteur INFOMAPS
  • Amélioration des performances avec les bibliothèques SAS/ACCESS®

4. A la Une de support

Décembre 2006

  • Les nouvelles options SAS® 9 de la procédure GCHART
  • Les nouveautés de la procédure SORT
  • L’exécution de commandes Système depuis SAS
  • L’utilisation de rôles dans SAS® Web Report Studio
  • Disponibilité des Solutions x.3

Janvier 2007

  • L’explorateur de SAS Enterprise Guide® 4.1
  • La procédure METALIB
  • Le support des dernières versions SGBD sous Unix

Février 2007

  • Présentation du SAS System Viewer
  • Personnaliser vos rapports SAS® Entreprise Miner™
  • Optimiser le temps d’exécution d’un tri sur son poste personnel

Avril 2007

  • Ordonnancer depuis SAS® Management Console sans Platform LSF
  • Définir une bibliothèque SAS/SHARE® dans SAS Management Console

Mai 2007

  • Elargissement des accès aux SAS® Information Maps
  • La procédure SURVEYLOGISTIC pour les données d’enquêtes

Juin 2007

  • Une macro pour lire plusieurs fichiers texte
  • Les sorties HTML avec le tagset TableEditor

5. Newsletter SAS France

Numéro de Novembre 2008

  • SAS® 8.2 baissera de niveau de support en mars 2009
  • SAS® Enterprise Guide® 2.05 et 2.1 ne seront plus utilisables à partir du 1er décembre 2008
h1

Cap ou pas cap ? : vos techniques de validation

avril 20, 2009

Gagnez le livre d’Olivier Decourt : Reporting avec SAS : mettre en forme et diffuser vos résultats avec SAS 9 et SAS 9 BI” en participant à ce CAP ou PAS CAP.

Mettez noir sur blanc votre expérience sur les techniques de validation ? Je vous propose ici de partager la ou les méthodes que vous utilisez pour valider vos programmes SAS.

Que vérifiez-vous pour valider vos programmes et comment ?

Répondez à la question ” Que vérifiez-vous pour valider vos programmes et comment ? ” d’ici le 31 juillet 2009 et gagnez le livre d’Olivier Decourt : “Reporting avec SAS : mettre en forme et diffuser vos résultats avec SAS 9 et SAS 9 BI” offert par les Editions Dunod”. Les résultats seront publiés le lundi 7 septembre 2009.

reporting

1. Comment participer ?

Pour participer, envoyez vos réponses par email à veronique.bourcier@sasreference.fr en précisant :

  • vos nom et prénom
  • votre adresse email : pour être informé du nom du gagnant
  • votre adresse postale : nécessaire pour l’envoi du cadeau au gagnant

Plusieurs réponses = plus de chances de gagner : Chaque participant a le droit de proposer plusieurs articles, chacun sera traité comme une candidature séparée.

2. Dates

Date de participation : Envoyez vos réponses avant le vendredi 31 juillet 2009 minuit.

Date de publication des résultats : lundi 7 septembre 2009.

3. Conditions de participation

La participation a ce “CAP ou PAS CAP” est gratuite.

Toute participation inclus une inscription à la newsletter du blog www.sasreference.fr, sauf demande expresse du participant.

Les articles pourront être repris de manière partielle ou en intégralité sur le blog www.sasreference.fr et tout autre travail SAS de Véronique Bourcier.

4. A gagner

Le gagnant du concours recevra par la poste le livre d’Olivier Decourt “Reporting avec SAS : mettre en forme et diffuser vos résultats avec SAS 9 et SAS 9 BI“, 232 pages, Editions Dunod, prix public : 32 euros.

Tout article proposé vous donne droit à 100 points dans le cadre de la Carte Fidélité du blog www.sasreference.fr.

5. Jury

L’auteur du blog, Véronique Bourcier, sera le seul jury de ce CAP ou PAS CAP.

6. Annonce des résultats

Tous les participants recevront les résultats de la compétition par courrier électronique. En sus, les résultats seront publiés sous forme de post sur le blog le lundi 7 septembre 2009.

olivier_decourt_reporting_banniere

Vos liens

Le site d’Olivier Decourt : www.od-datamining.com

Le site des Editions Dunod : www.dunod.com

h1

Parler français : représenter un nombre 100 987,24

avril 18, 2009

Selon le pays les nombres sont présentés de manière différente. COMMA et COMMAX sont deux formats utilisés par SAS pour représentés les nombres mais ne s’applique pas au cas français. Vous verrez donc comment créer le format qui vous convient avec l’instruction PICTURE de PROC FORMAT.

1. La différence français/anglais

Les francophones présentent les nombres différemment des anglophones sur deux points.

  • Les milliers : Les chiffres des milliers sont séparés par un espace alors que les américains utilisent la virgule
  • Les décimales : Les décimales sont séparées par une virgule en français contre un point en anglais

2. La représentation par défaut de SAS

Par défaut, les nombres sous SAS sont simplifiés comme sur une calculatrice.

  • Les milliers : le seul séparateur est celui des décimales
  • Les décimales : le point fait office de séparateur pour les décimales

Pour une présentation à l’anglais, il faudra appliquer le format COMMA. Il n’existe à ma connaissance qu’une semi version française : le format COMMAX. En effet celui-ci utilise bien la virgule pour séparer les entiers des décimales mais il utilise aussi le point et non le blanc pour séparer les milliers. On préférera donc créer un format avec l’instruction PICTURE.

2. Un exemple

Créer un format : dans le cas présent, les nombres seont affichés jusqu’à 999999,99,  en ajoutant un espace entre les milliers et un virgule pour les décimales.

  • L’usage du 0 : il n’y aura pas de zéro affiché à l’avant du nombre si celui-ci est plus petit que 100000.
  • L’usage du 9 : Les décimales s’afficheront toujours avec deux chiffres après la virgules même si le second chiffre est un zéro.

proc format;
picture commafr other=’000 000,99′;
run;

Appliquer les formats COMMA,  COMMAX et format personnel

Dans cette étape data trois variables sont créées chacune avec une observation.

Dans les trois cas, un format avec une extension 9.2 est ajouté de manière permanente. On indique à SAS que le nombre ne dépassera normalement pas 9 caractères dont 2 pour les décimales.

data fr_en;
format
eg_english comma9.2
eg_semifrench commax9.2
eg_french commafr9.2;
eg_english=100987.24;
eg_semi_french=100987.24;
eg_french=100987.24;
run;

Voir le résultat

eg_english   eg_semifrench   eg_french

100,987.24     100.987,24    100 987,24

La variable EG_ENGLISH (exemple, anglais) reçoit, quant à elle, un format COMMA9.2 pour un affichage à l’américaine/l’anglais.

La variable EG_SEMIFRENCH (exemple,respectant partiellement la syntaxe française) reçoit u nformat COMMAX9.2.

La variable EG_FRENCH (exemple, français) reçoit le format créé manuellement COMMAFR9.2 pour un affichage avec un blanc entre chaque groupe de trois chiffres parmi dans la partie entière et deux chiffres pour la partie décimale.

Lectures complémentaires

SAS Online Doc

h1

Tout sur l’instruction BY

avril 14, 2009

Me rendant compte que l’instruction BY pouvait poser des difficultés lorsqu’on débute avec SAS, j’ai décidé de faire le point sur cette instruction.

1. Une instruction locale

L’instruction BY peut servir dans toutes les étapes data et procédures à l’exception de PROC SQL.

2. Un ordre défini par le nom des variables :

L’instruction BY est suivie du nom des variables servant pour le tri.

Dans un premier temps, les observations sont triées selon les valeurs de la première variable citée, ici SEX. Puis, pour chacune des valeurs prises par SEX (M et F), les données sont triées par NAME.

proc sort data=sashelp.class out=class;
   by sex name;
run;

3. PROC SORT : le premier usage de l’instruction BY : L’instruction BY est logiquement obligatoire dans un PROC SORT. Sinon SAS ne saurait pas dans quel ordre trier les données. Le mot DESCENDING peut-être ajouté pour préciser un ordre décroissant. Ici les données sont d’abord triées par SEX puis par nom en ordre descendant.

proc sort data=sashelp.class out=class;
   by sex descending name;
run;

L’autre manière de trier les données est d’utiliser la procédure PROC SQL.

Idée : Vous aurez souvent un PROC SORT avant d’utiliser l’instruction BY dans une autre procédure ou étape data. Simplifiez-vous la vie en copiant l’insstruction au niveau du PROC SORT et en la collant au niveau de la procédure ou étape data suivante.

4. SAS vous informe si les données ne sont pas triées comme indiqué

L’instruction BY précise à SAS dans quel ordre les données doivent être lues. Si les données ne respectent pas cet ordre, SAS s’arrête et fourni un message d’erreur.

5. L’instruction BY : obligatoire ou optionnelle ?

L’instruction BY est optionelle dans une instruction SET. Utilisée pour empiler les données de deux data sets, elle permettra d’intercaler les observations des deux sources selon leur valeurs au lieu de mettre d’abord toutes les observations du premier data set cité et ensuite toutes les observations du second data set.

L’instruction BY reste pratiquement indispensable avec MERGE puisqu’elle sert à relier les observations de deux data sets par les variables du même nom. Sans elle, les observations du second data set pour les variables du même nom réécrirait sur celle du premier.

L’instruction BY est indispensable avec FIRST et LAST.

6. D’autres usages de l’instruction BY

L’instruction BY peut s’ajouter dans un PROC REPORT. Une option NOBYLINE permettra de changer le titre à chaque nouvelle combinaison de valeurs désignée par l’instruction. Néanmoins la mise à jour du titre par cette approche avec ODS RTF par exemple ne fonctionne pas.

L’instruction BY peut servir dans toutes less procédures (sauf PROC SQL) et notamment dans les procédures statistiques. Voir dans les lectures complémentaire l’usage de l’instruction BY avec PROC FREQ.

Lectures Complémentaires

SAS Online Doc

h1

Samedi Emploi : recherche stage 6 mois stat. et économétrie

avril 11, 2009

Cette semaine, un nouveau profil a été ajouté sur le blog dans le cadre d’une recherche de stage de fin d’étude en Statistique et Econométrie de 6 mois à partir d’avril. Voici quelques extraits.

1. Expérience professionnelle

Stage Master 1 ESA (2 mois) : Ecobank au Sénégal – Département “Financial Control”

Thématique : Aide à la mise à jour des dossiers pour la Commission Bancaire

  • Mise à jour des opérations de la Banque avec le logiciel Globus
  • Participation à l’élaboration d’un environnement de travail plus automatisé pour le contrôle des factures téléphoniques, du remboursement des tickets restaurants et des frais médicaux des employés sous Excel.

Stage d’IUT STID (2 mois) : Artémis Information Management à Luxembourg – Département Etudes Statistiques et Economiques.

Thématique : Statistiques du Tourisme dans l’Union Européenne

  • Mise à jour d’un livret d’un CD-ROM sur les statistiques du tourisme
  • Extraction, contrôle et analyse des données contenues dans des fichiers Access ou Excel extraits de la base de diffusion d’Eurostat ;
  • Rédaction d’une publication Statistic In Focus

2. Domaines de compétence

  1. Econométrie des variables qualitatives
  2. Séries temporelles
  3. Econométrie pour l’assurance et la banque
  4. Econométrie pour la finance
  5. Econométrie semi et non paramétrique
  6. Econométrie des données de panel
  7. Marketing Quantitatif
  8. Datamining
  9. Economie des assurances
  10. Méthode de Scoring
  11. Gestion de bases de données et langage SQL

3. Informations de référence

Aïssatou BOUSSO

Tél: +33 06 28 02 47 80

Email : diatoubousso@hotmail.fr

CV : format PDF 

Lectures Complémentaires :

Vous aussi, publiez votre CV sur www.sasreference.fr !

h1

Evaluer le critère performance TEMPS d’un programme (%SYSFUNC, %SYSEVALF)

avril 10, 2009

Un critère pour évaluer la performance d’un programme est de connaître son temps d’exécution. La fonction système %SYSFUNC permettra de récupérer le temps à un instant donné et la fonction  %SYSEVALF servira à calculer la différence entre deux temps pré-enregistrés. Voici un exemple en 4 étapes.

1. Récupérer le temps en début de programme

Dans un premier temps, le temps de début est sauvegardé dans une macro variable TEMPS_DEBUT. Il est extrait au moyen de la fonction TIME() et est donc exprimé en secondes.

%let temps_debut = %sysfunc(time());

2. Exécuter la partie principale du programme

Pour l’exemple un simple PROC PRINT est ajouté comme partie principale du programme.

proc print data=sashelp.class;
run;

3. Récupérer le temps en fin de programme

Dans un troisième temps, le temps en fin de programme est sauvagardé dans la macro variable TEMPS_FIN. Comme précédemment; la fonction TIME() est utilisée.

%let temps_fin = %sysfunc(time());

4. Evalutation et affichage de la durée écoulée

La durée écoulé entre le début et la fin du programme est sauvegardée dans la macro variable DUREE. Cette durée est ensuite affichée dans la log au moyen de l’instruction %PUT.

Sur le même principe qu’une fonction %EVAL dans une macro, la fonction %SYSEVALF permet de considérer les deux variables TEMPS_DEBUT/TEMPS_FIN comme des nombres le temps du calcul de la différence.

%let duree = %sysevalf(&temps_fin.-&temps_debut.);
%put Durée d’exécution : &duree.;

Lectures complémentaires

www.sasreference.fr

SAS Online Doc

h1

SAS, outil privilégié du Master ESA d’Orléans

avril 8, 2009

L’université d’Orléans propose, depuis 2004, un Master Econométrie et Statistique Appliquée (ESA) sur deux ans faisant la part belle au logiciel SAS.

Ce Master est en relation directe avec l’équipe économétrie du Laboratoire d’Economie d’Orléans (LEO) et propose aux étudiants deux voies : la voie recherche et la voie professionnelle. Le choix entre ces deux voies s’effectue en seconde année.

Comme les grandes écoles, l’ESA applique des règles basées sur la professionalisation et une bonne communication.

  • Doter les étudiants d’expériences sur le terrain : En plus de six mois de stage, chaque opportunité est mise à contribution pour professionnaliser les élèves. A titre d’exemple, les étudiants de première année sont impliqués dans la Newsletter annuelle (Newsletter 2009). La promotion 2005-2006 a mis en place un site Internet pour faire des estimations en ligne appelé “Value at Risk“ qui tourne sous SAS. La promotion 2007-2008 a, quant à elle, participé à la compétition Econometric Game à Amsterdam.
  • S’adapter aux besoins des entreprises : L’adéquation entre les cours et les besoins en entreprise sont constamment améliorés. Ainsi l’établissement reste à l’écoute du retour d’expérience des stagiaires et établit un suivi de ces anciens étudiants. Cela a conduit à l’ajout d’une unité en gestion de données sous SAS en deuxième année.
  • Faciliter l’insertion professionnelle : L’université a fait le choix du TOEIC (Test of English for International Communication), test d’anglais très répandu dans les Grandes Ecoles. Elle propose aussi des cours pour aider les étudiants lors des entretiens d’embauche.

1. Le contenu de la formation

L’école propose plus de 300 heures de cours et six mois de stage. Dès la prérentrée, les étudiants ont des cours de SAS. Ce n’est que le début d’une longue série d’utilisations du SAS dans le cadre des travaux dirigés et rapports de projets à rendre. Pour ceux choisissant la voie professionnelle en deuxième année, la formation se termine par des cours de gestion de bases de données, de marketing quantitatif, de data mining, de gestion de bases de données en SQL exclusivement avec SAS.

Descriptif des cours : Vous trouverez la liste des cours avec le nombre d’heures allouées à la fin de cet article. Pour plus de détails, vous pouvez vous reportez à la version imprimable et au site Internet.

Quelques exemples :

L’évaluation en première année : en Master 1, l’évaluation est composée d’un contrôle continu pour les matières ayant des travaux dirigés (TD), plus des examens.

Les étudiants qui réussissent leur première année se voient proposés une inscription en seconde année. On compte deux sessions pour les examens et une session de rattrapage.

  • janvier : matières du premier semestre
  • début mai : matières du second semestre
  • juin : session de rattrapage pour les matières des deux semestres

L’évaluation en deuxième année : En seconde année, il y a en janvier des examens pour les matières du premier semestre. A cela s’ajoute la remise de mémoire pour les enseignements techniques. Les rapports du second semestre sont à rendre en septembre/octobre. La soutenance de stage a lieu en novembre/décembre.

La remise des diplômes a lieu lors de la journée d’information sur les métiers de la statistique et de l’économétrie qui se déroule en janvier/février.

2. Inscription

Nombre de places : en 2008-09, le nombre d’étudiants a augmenté par rapport à l’année précédente. Le nombre de place n’est pas figé et peut donc varier selon la qualité des candidatures.

  • 53 étudiants ont été inscrits en Master 1 (contre 26 en 2007-08)
  • 23 étudianst ont été inscrits en Master 2 (contre 20 l’année précédente).

Pré-requis : il est possible d’intégrer la formation en première ou en deuxième année. Voici quelques données chiffrées issues de la présentation de janvier 2008 de Monsieur Colletaz.

  • En première année, on compte actuellement 1/3 des étudiants d’une licence en économétrie, 1/3 de MASS et 1/3 en provenance d’autres licences extérieures à l’université d’Orléans.
  • En deuxième année, 90% des étudiants sont ceux du Master 1, les 10% restant viennent principalement d’autres filières d’économétrie.

Dossier d’inscription :

Les modalités d’inscriptions en première année varient en fonction du parcours universitaire jusqu’alors suivi. Reportez-vous à la page Formation/Inscription au Master 1 pour plus de précisions.

Pour les modalités d’inscriptions en seconde année, reportez-vous à la page Formation/Inscription au Master 2 et contactez Madame Ros-Monteil (celine.ros-monteil@univ-orleans.fr)

Financement :

  • Les droits d’inscriptions classiques : Les droits d’inscription sont de 230,57 euros / an + 195 euros/an de sécurité sociale (chiffres pour la rentrée 2008). Les étudiants boursiers sont exonérés du paiement de la sécurité sociale. Les droits d’inscriptions sont pour eux d’une cinquantaine d’euros par an.
  • Un ordinateur : Un ordinateur est financé par la région Centre pour chaque étudiant du Master 1 dans le cadre de l’opération Ordi-Centre.
  • Un stage rémunéré : Les stagiaires arrivent à avoir une rémunération de l’ordre de 1000 euros par mois pour six mois de stage.

3. Le suivi des anciens élèves

Le Master ESA assure un suivi de ses anciens étudiants. Elle dispose donc d’un retour d’expérience par différents biais :

4. Information aux entreprises

Consultation de profils : Le profil des étudiants de première et deuxième année est disponible sur le site Internet (1ère année 2008-09, 2ème année 2008-09).

Diffusion d’offres d’emploi/stage : Monsieur Hurlin (christophe.hurlin@univ-orleans.fr), Directeur des Etudes peut-être contacté pour tout ce qui concerne la diffusion d’offres d’emploi aux étudiants et anciens étudiants via le site Internet et la lettre de diffusion.

Soutien financier pour l’école : Les entreprises peuvent contribuer au financement d’actions autour du Master via la taxe professionnelle. Elles créent de cette manière un contact privilégié avec l’établissement. A titre d’exemple, la lettre d’information et la journée d’information annuelle bénéficient de ces financements. Pour en savoir plus, reportez vous à la plaquette sur le sujet téléchargeable sur la page “Taxe d’apprentissage” ou contacter Madame Rouanet (nadege.rouanet@univ-orleans.fr).

Note sur la taxe professionnelle : les entreprises en France peuvent décider de l’organisme de formation auquel attribuer leur taxe professionnelle qui est fonction de la masse salariale. Si aucun organisme n’est choisi, cette taxe rejoint un fond commun de financement de la formation en France.

5. Sortie du livre “Introduction à SAS 9.2″ de Monsieur Ringuédé

Monsieur Ringuédé (sebastien.ringuede@univ-orleans.fr) est enseignant en SAS à l’université d’Orléans pour le Master ESA et webmaster du site www.univ-orleans.fr/deg/masters/ESA. Il assure les cours d’introduction à SAS lors de la semaine de prérentrée en première année et ceux de gestion de bases de données de deuxième année.

Il a publié en octobre 2008 un livre sur SAS intitulé “SAS, Introduction au décisionnel : méthode et maîtrise du langage“. Ce document de référence est une version enrichie des cours d’introduction à SAS à l’université. Il est est disponible aux éditions Pearson. Pour plus d’information sur cette ouvrage, vous pouvez consulter le site support www.sas-sr.com.

 Résumé des principaux liens :

Annexe : le programme de première et deuxième année

Semestre 1, Enseignements Fondamentaux

  • Economie du travail (30h + TD)
  • Finance internationale (30h + TD)
  • Option 1 (30h + TD)

Semestre 1, Enseignements de Spécialisation

  • Analyse des données qualitatives (25h)
  • Séries temporelles I : analyse univariée (30h + TD)
  • Introduction à SAS (30h)
  • Econométrie spatiale (20h)

Semestre 2, Enseignements Fondamentaux

  • Fluctuations conjoncturelles (30 h + TD)
  • Anglais avec préparation au TOEIC (24h)
  • Option 2 (30h)
  • Mémoire

Semestre 2, Enseignements de Spécialisation

  • Techniaues de classification (20h + TD)
  • Econométrie des variables qualitatives (30h + TD)
  • Séries temporelles II : analyse multivariée (30h + TD)
  • Boostrap et programmation (20h)

Semestre 3, Techniques Econométriques (Applications SAS)

  • Econométrie des Données de Panel (24h)
  • Macro-économétrie (24h)
  • Econométrie Semi et Non Paramétrique (24h)
  • Méthodes de Prévision (24h)

Semestre 3, Econométrie pour la Finance, Banque et Assurance (Applications
SAS)

  • Méthodes de Scoring (24h)
  • Econométrie pour la Finance (24h)
  • Modèles de Durée (24h)

Semestre 3, Expression Orale et Options de Spécialisations

  • Option 1 (25h)
  • Exposé Oral

Semestre 4 – Voie Professionnelle, Marketing et Data Mining (Applications SAS)

  • Marketing quantitatif (24h)
  • Data Mining (24h)

Semestre 4 – Voie Professionnelle, Informatique

  • Gestion de Bases de Données et Langage SQL (24h)
  • Option 2 (25h)
  • Exercice de gestion de bases de données sous SAS (9h)

Semestre 4 – Voie Professionnelle, Stage

  • Stage

Semestre 4 – Voie Recherche, Méthodes

  • Méthodes dynamiques en macroéconomie
  • Modélisation
  • Microéconomie : contrats, décision dans l’incertain
  • Problématique de mémoire

Semestre 4 – Voie Recherche, Séminaires de recherche

  • Finances internationales
  • Finance de marché
  • Conférences invitées
  • Oral

Semestre 4 – Voie Recherche, Mémoire

Merci de prévenir si un lien ne fonctionne pas : veronique.bourcier@sasreference.fr

h1

Protégé : Newsletter Avril 2009 : Exercice

avril 6, 2009

Cet article est protégé par mot de passe. Pour le lire, veuillez saisir votre mot de passe ci-dessous :


h1

Protégé : Newsletter Avril 2009 : Solution

avril 6, 2009

Cet article est protégé par mot de passe. Pour le lire, veuillez saisir votre mot de passe ci-dessous :


h1

Les anniversaires, cela se fête avec SAS

avril 2, 2009

Aujourd’hui étant mon anniversaire, je fais la paresseuse et vous communique un petit fichier SAS, reçu ce jour (merci Alex), à faire tourner sous Windows, écouteurs en place, pour la prochaine fois qu’un collègue ou pote qui connaît SAS soufflera ses bougies. Amusez-vous bien !

%let pc=1;

%macro sasreference_fr(note,octave,length);

select(&note.);
when (‘A’) call sound (55*(2**&octave.),&length.*160*&pc.);
when (‘A#’) call sound (58*(2**&octave.),&length.*160*&pc.);
when (‘Bb’) call sound (58*(2**&octave.),&length.*160*&pc.);
when (‘B’) call sound (62*(2**&octave.),&length.*160*&pc.);
when (‘C’) call sound (65*(2**&octave.),&length.*160*&pc.);
when (‘C#’) call sound (69*(2**&octave.),&length.*160*&pc.);
when (‘Db’) call sound (69*(2**&octave.),&length.*160*&pc.);
when (‘D’) call sound (73.5*(2**&octave.),&length.*160*&pc.);
when (‘D#’) call sound (73.5*(2**&octave.),&length.*160*&pc.);
when (‘Eb’) call sound (78*(2**&octave.),&length.*160*&pc.);
when (‘E’) call sound (82*(2**&octave.),&length.*160*&pc.);
when (‘F’) call sound (87*(2**&octave.),&length.*160*&pc.);
when (‘F#’) call sound (92.5*(2**&octave.),&length.*160*&pc.);
when (‘Gb’) call sound (92.5*(2**&octave.),&length.*160*&pc.);
when (‘G’) call sound (98*(2**&octave.),&length.*160*&pc.);
when (‘G#’) call sound (104*(2**&octave.),&length.*160*&pc.);
when (‘Ab’) call sound (104*(2**&octave.),&length.*160*&pc.);
when (‘R’) call sleep((&length./3)*&pc.,1);
otherwise;
end;
%mend sasreference_fr;

data _null_;
%sasreference_fr(‘C’,3,1);
%sasreference_fr(‘C’,3,1);
%sasreference_fr(‘D’,3,2);
%sasreference_fr(‘C’,3,2);
%sasreference_fr(‘F’,3,2);
%sasreference_fr(‘E’,3,4);

%sasreference_fr(‘R’,3,2);

%sasreference_fr(‘C’,3,1);
%sasreference_fr(‘C’,3,1);
%sasreference_fr(‘D’,3,2);
%sasreference_fr(‘C’,3,2);
%sasreference_fr(‘G’,3,2);
%sasreference_fr(‘F’,3,4);

%sasreference_fr(‘R’,3,2);

%sasreference_fr(‘C’,3,1);
%sasreference_fr(‘C’,3,1);
%sasreference_fr(‘C’,4,2);
%sasreference_fr(‘A’,4,2);
%sasreference_fr(‘F’,3,1);
%sasreference_fr(‘F’,3,1);
%sasreference_fr(‘E’,3,2);
%sasreference_fr(‘D’,3,4);

%sasreference_fr(‘R’,3,2);

%sasreference_fr(‘Bb’,4,1);
%sasreference_fr(‘Bb’,4,1);
%sasreference_fr(‘A’,4,2);
%sasreference_fr(‘F’,3,2);
%sasreference_fr(‘G’,3,2);
%sasreference_fr(‘F’,3,4);
run;

Pour les curieux, je vous invite à consulter les programmes des chansons suivantes sur www.developpez.com :

Les plus téméraires s’intéresserons à la publication “Making Music in SAS“. Vos créations pourront être publiées sur le blog.

A lire aussi www.sasreference.fr :