h1

Cap ou pas Cap : le gagnant

septembre 6, 2009

Ce premier Cap ou pas Cap s’est déroulé du 20 avril au 31 juillet 2009. Pour participer, il suffisait de proposer une réponse à la question : que vérifiez-vous pour valider vos programmes et comment ? Trois lecteurs ont participé.

Le gagnant de cette année est Philippe. Il va recevoir dans les jours qui viennent 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 la maison d’édition Dunod (www.dunod.com).

reporting

Je vous propose de découvrir les thématiques abordées dans la réponse de Philippe.

A l’année prochaine pour un nouveau défi !

(Lancement prévu le 1er mars 2010 pour une durée de trois mois)

Si vous souhaitez sponsoriser cet événement, contactez-moi : veronique.bourcier@sasreference.fr

1. Les erreurs de syntaxes

  • Le point-virgule : Je vérifie la présence du point-virgule à la fin de chaque ligne/instruction.
  • L’orthographe des mots non-SAS : je vérifie que je n’ai pas fait de coquille dans le nom de variable ou de table. Les noms sont les mêmes d’une instruction à une autre et il ne doit pas y avoir d’inversion des lettres.
  • L’orthographe des mots de SAS : idem pour les mots dans les instructions SAS, même si le plus souvent SAS reconnaît et suppose que ça a été mal orthographié (misspelling).
  • L’aide des couleurs : Je vérifie qu’il n’y a pas de couleur qui « sautent » dans l’éditeur (enhanced editor), chaque mot syntaxique SAS doit correspondre à une même couleur.

2. Débugger une étape data

  1. L’instruction PUT : Si nécessaire, mettre un put xx= ; dans les étapes data pour afficher le nom d’une variable (ici variable xx) avec sa valeur.

3. Importer et exporter des données

  • Le contenu des fichiers textes à lire : je vérifie visuellement comment se présente le fichier à lire : est-il lisible (pas corrompu), y a t-il des sauts de pages, des choses inattendues et quel séparateur est utilisé (tabulation, espace, point-virgule ou autre).
  • Les chemins d’accès aux fichiers : A l’importation comme à l’exportation de données,  je vérifie que le chemin Unix ou Windows existe bien, sinon SAS va mettre « le fichier n’existe pas » ou encore « le chemin n’existe pas ».

4. La syntaxe française

  • Les titres et pieds-de-page : Pour les titres et pieds-de-page (title ou footnote) sous Output ou SAS/GRAPH®, les accents français ou apostrophes ne sont pas résolus proprement à l’écran sans action particulière. J’enlève ces caractères spéciaux par défaut.

5. Le langage macro

  • Les commentaires : Pour écrire un commentaire, deux syntaxes existent  /* xxxx */ et l’étoile/point-virgule. A  l’intérieur d’une macro,  il faut mettre l’étoile après le symbole pourcentage pour que cela fonctionne à tous les coups (SAS Online Doc.: %* Macro Comment Statement).
  • Initialiser ses macro-variables : Lors de la création d’une macro variable avec PROC SQL par exemple, la macro variable n’est créée que si une valeur lui est assignée. Il est donc important d’initialiser la macro variable avant de lui appliquer une valeur et ainsi parer au cas où aucune observation n’est sélectionnée pour assinger une valeur à la macro variable.  Lire l’article 3 méthodes pour construire des macros variables sans macro.
  • La valeur prise par une macro variable : quand il y a un nom de macro variable dans un chemin d’accès je vérifie qu’il y a bien une barre inclinée  (slash /) et et non aucune ou deux parce que parfois ça se résout en c:\tempnomfichier.txt ou en c:\temp\\nomfichier.txt.
  • in () ne fonctionne pas avec le langage macro. Ainsi sous SAS 9.1.3 %if &var in () ne marche pas. Une solution est de multiplier les égalités en ajoutant un OR de liaison : %if &var. = xx or &var. = xxx.
  • %DO / %END : A chaque %do doit correspondre un %end (SAS Online Doc. : %DO Statement)
  • Les positional parameters : Les macros sont définies soit avec des positional parameters, soit avec des keyword parameters (SAS online doc.:  %macro Statement). Si vous optez pour des positional parameters, vous devez vous assurez que tous les paramètres sont cités à l’appel de macro et dans le bon ordre.
  • Les options macros : les options mprint, symbolgen, mlogic enrichiront la log d’informations pour vérifier les valeurs produites, les boucles, etc.

Lecture complémentaire

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :