Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Membre habitué

    Homme Profil pro
    Consultant Support Client SAS
    Inscrit en
    mai 2011
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Support Client SAS
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mai 2011
    Messages : 94
    Points : 180
    Points
    180

    Par défaut

    Livre: SAS 2ème édition Introduction pratique: du data management au reporting
    Auteur: Sébastien Ringuédé
    Niveau: Débutant, Etudiant, professionnel

    Pour avoir préparé et réussi la certification base grâce à la première édition, je vous conseille cette seconde édition avec pas mal de nouveautés et réaménagements judicieux (notamment au niveau de l'index).
    Ce livre permet en le décortiquant, en faisant les exercices et allant sur le site support de passer la certification 9 Base programming

  2. #2
    Expert éminent sénior

    Avatar de Djug
    Homme Profil pro
    Inscrit en
    mai 2007
    Messages
    2 981
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Algérie

    Informations forums :
    Inscription : mai 2007
    Messages : 2 981
    Points : 18 283
    Points
    18 283

    Par défaut Critique du livre "SAS - Introduction pratique : du data management au reporting"

    Voici une critique du livre: SAS - Introduction pratique : du data management au reporting, de Sébastien Ringuedé



    Citation Envoyé par Résumé de l'éditeur
    Ce livre présente le socle de connaissances communes à tous les utilisateurs de SAS, le progiciel d'informatique décisionnelle le plus utilisé au monde. Pédagogique et complet, il peut servir aussi bien de guide d'initiation pour les utilisateurs débutants que d'ouvrage de référence pour les utilisateurs plus expérimentés. Il couvre par ailleurs l intégralité du programme de la certification Base Programming for SAS®9.

    Parmi les sujets développés :
    la création, la manipulation et la gestion des tables de données
    les procédures d exploration des données : construction de tableaux, de rapports, etc.
    la production de documents au format HTML, RTF, XLS ou PDF avec ODS (Output Delivery System)
    le langage macro spécifique à SAS
    la découverte du module SAS/GRAPH et la réalisation de graphiques d excellente qualité avec les procédures Statistical Graphics de SAS 9.2.

    Pour vous aider à bien assimiler tous les concepts, le livre comprend de nombreux exemples et plus d une centaine d exercices d application.

    Cette nouvelle édition met plus spécifiquement l accent sur :
    les passerelles entre SAS et Excel
    les procédures PROC EXPORT, PROC IMPORT, PROC FCMP, PROC RANK, PROC TRANSPOSE, PROC APPEND, PROC COMPARE, PROC DATASETS, etc.

    Le livre, qui porte sur les versions 9.x de SAS, est compatible avec la version 8.
    Cet ouvrage bénéficie d'un site compagnon particulièrement complet et géré par l'auteur sur lequel vous retrouverez, entre autres, l'intégralité des programmes proposés accompagnés de leurs résultats, les solutions des exercices, des suppléments et un forum de discussions grâce auquel vous pourrez discuter avec l'auteur et lui poser vos questions : www.sas-sr.com.
    Vous avez lu le livre ? Qu'en pensez-vous ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    janvier 2011
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : janvier 2011
    Messages : 133
    Points : 368
    Points
    368

    Par défaut

    et bien moi, je l'ai lu, relu et je l'ai même écrit.

    J’ai lu cette critique, souhaite remercier Stéphane mais aussi faire quelques commentaires.

    Je comprends parfaitement les remarques qui ont été faites et les acceptent sans aucun problème. Si on ne souhaite pas qu’un livre fasse l’objet de critiques, il suffit de ne pas l’écrire.

    Maintenant, ce que j’ai lu me fait penser que Stéphane n’a peut être pas bien compris la démarche qui est la mienne et qui doit donc être particulière. Je vais donc me permettre de répondre de façon à éviter les malentendus quant à ce que propose mon ouvrage et ce qu’il ne propose pas.

    Partons de l’idée que « Quand un homme a faim, mieux vaux lui apprendre à pécher que lui donner un poisson » (Confucius)

    L’idée principale qui m’a guidé lorsque j’ai écrit cet ouvrage (et sa première édition), c’est offrir au lecteur le moyen de comprendre le fonctionnement de SAS pour qu’il devienne ensuite autonome – il ne s’agit par conséquent pas d’offrir une collection de « trucs et astuces » qui doivent s’appliquer un peu partout indépendamment des circonstances mais de donner à un utilisateur les outils qui l’aideront à utiliser SAS intelligemment.

    C’est à ce titre que j’ai choisi de m’engager dans une démarche de certification (mon ouvrage couvre le programme de la certification SAS base programming for SAS 9 – il va aussi bien au-delà) : il faut donner à l’utilisateur de bons réflexes – sans ces bons réflexes, bien souvent, l’utilisateur « bricole » sous SAS parce qu’il ne comprend les choses qu’en surface.

    S’engager dans une démarche de certification, c’est toujours un effort : pour s’en convaincre, il suffit de consulter les 800 pages sur SAS Certification Prep guide, un ouvrage préparant une certification Microsoft ou une certification ORACLE PL/SQL… et le maître mot qui guide cette démarche de certification, ce n’est pas « connaître » mais bien « comprendre ».

    Les parties concernant l'utilisation de l'INFILE ressemble à un passage en revue de toutes les possibilités offertes pour importer des fichiers de tout format. Finalement, ces parties ne seront donc utiles si le lecteur est face à un fichier que la proc IMPORT et son option magique GUESSINGROWS, apparue dans la V9, ne saurait résoudre.
    Et bien entendu, si vous comprenez ma démarche, vous comprendrez aussi que je ne suis pas d’accord ;-) La construction de tables SAS à partir de fichiers TXT, ça a le même rôle dans le développement de la compréhension de SAS que le dessin du bonhomme chez l’enfant… Je vous sens sourire ;-) mais l’image me paraît juste : un polytechnicien ne dessine plus de bonhommes (ou alors, il se cache) mais c’est parce qu’il a dessiné de beaux bonhommes quand il avait trois ans qu’il est devenu polytechnicien.

    Je vous dis tout : le chapitre 2 qui a pour principal objet la création de tables SAS à partir de fichiers ASCII présente un objectif caché : faire comprendre à l’utilisateur qu’une table SAS, c’est en ligne des observations et en colonnes des variables et que donner une modalité à une variable, ce n’est pas reprendre un « 1 » ASCII et le positionner tel quel dans une table. Je vous promets que ceci n’a rien d’évident pour bon nombre d’utilisateurs débutants sous SAS.

    Pour comprendre cette « absence d’évidence », il convient de ne pas oublier que les utilisateurs de SAS ne sont généralement pas des informaticiens : SAS est enseigné dans des IUT, des Fac d’économie, de gestion, de math appli, dans des écoles d’ingé, des écoles de commerces… Un statisticien ou un économètre n’est pas un informaticien mais il a besoin d’un outil informatique, SAS, et l’utilisation de SAS nécessite de programmer.

    La plupart des étudiants que je forme n’ont jamais programmé de leur vie : faut-il leur dire « ne t’occupe pas de ce qu’il y a dans ce fichier TXT, ne le regarde même pas, ne tente pas de le comprendre : tu fais PROC IMPORT et l’option magique GUESSINROWS et ça ira bien » ? Et le jour (toujours proche) où « ça n’ira pas », que va faire l’utilisateur qui ne connaît que l’option magique GUESSINROWS ? Rien… ou peut être dira-t-il « on ne peut pas construire de table SAS avec ces données ». Un utilisateur averti (c’est celui qui en vaut deux) sait que c’est toujours possible.

    Toujours parce que l’objectif de mon bouquin, c’est former des utilisateurs qui comprennent SAS, je refuse l’idée d’un jeu de données unique.

    Puisque le premier problème qui se pose à un utilisateur, c’est l’appréhension des tables, il convient de le confronter à un grand nombre de tables différentes afin qu’il se forme à la compréhension des tables. Chaque table pose forcément un nouveau problème dans sa création, sa modification, sa manipulation et son exploitation. Offrir un jeu de données unique, c’est offrir l’idée qu’une « solution » qui conviendra toujours existe. C’est une idée à laquelle je ne crois absolument pas et qui présente le risque suivant : l’utilisateur non averti risque de vouloir absolument adapter la programmation vue dans le bouquin - cette adaptation se résumant bien souvent par le changement du nom de la table de l’auteur du bouquin par le nom de sa table. Évidemment, sa table présentant des caractéristiques commandant un autre type d’approche, notre utilisateur ira droit dans le mur. (A titre d’exemple, je ne compte plus le nombre de mails que j’ai pu recevoir de personnes désirant absolument faire tourner sur leurs données la macro INSEE CALMAR sans se poser la question de savoir si elle était adaptée à leur cas).

    Mes tables (que je construis pourtant avec amour) ne sont pas tirées de cas d’entreprises (ça se discute) ? Et bien c’est presque tant mieux ! Le lecteur sera moins tenté de prendre un de mes programmes pour le faire tourner sur ses données. Les développements que je propose doivent cependant lui offrir les outils qui lui permettront d’écrire SON programme adapté à SES données et à SA problématique.

    Ensuite, Stéphane note des « erreurs de structures ». Je souhaite aussi revenir sur cela mais il est important de noter déjà que mon ouvrage est un ouvrage doit être lu « dans l’ordre » au moins une première fois. Il est difficile d’arriver sur un chapitre particulier si ce qui précède n’a pas été lu et parfaitement compris. Il ne s’agit pas cependant de tout lire mais de lire, dans l’ordre, en suivant un chemin balisé au moyen d’une signalétique.

    Celle-ci indique au lecteur si la section qui débute est importante, ou si elle constitue un approfondissement (léger ou important). Dans un premier temps, le lecteur est invité à ne lire que les sections importantes.

    Maintenant, comme Stéphane le remarque, le début est forcément dense mais tout devient facile (normalement) ensuite. Quand on cherche à acquérir une compétence, l’investissement temps, c’est toujours au départ.

    La structure de mon ouvrage est donc adaptée à une lecture linéaire, de la page I à la page XII puis de la page 1 à la page 466 (on peut/doit sauter des pages pour y revenir plus tard !) et dans cette idée, la concentration de toutes les procédures examinées dans mon bouquin au sein d’un même chapitre n’aurait pas de sens.

    Le titre 2.7 (import Excel) et 2.8 (débogage) devraient faire l'objet de chapitres indépendants.
    L’objet du chapitre 2 est la création de table SAS au moyen de fichiers externes à SAS. Externes, c’est soit de l’ASCII (et vous qui m’avez lu, avez bien compris qu’il s’agit d’un alibi) soit d’autres formats – on pourra alors passer par le module d’importation, ou par LIBNAME EXCEL. Voici pourquoi LIBNAME EXCEL a toute sa place ici.

    Le titre 2.8 est important dans ce chapitre 2 puisque son objet est d’offrir au lecteur les moyens de son indépendance sous SAS. Quelques fois, malgré tous les outils examinés dans ce chapitre 2, la création d’une table ne se passe pas bien. Cette section 2.8 présente les outils à la disposition de l’utilisateur pour résoudre ses problèmes. Elle est la suite logique de ce qui a été vu avant.

    Le lecteur y trouvera [dans le chapitre 3] un titre que l'auteur devrait déplacer dans le chapitre 6 (le titre 3.7 concernant trois procédures de modifications des tables).
    L’objet du chapitre 3 est la modification des tables – SAS offre (au moins) trois procédures (PROC SORT, PROC RANK et PROC TRANSPOSE) qui, hors étapes DATA / SET permettent de modifier des tables – elles ont donc toute leur place dans ce chapitre. Ce que font PROC SORT, PROC RANK et PROC TRANSPOSE, je sais le faire au moyen d’étapes DATA : si des procédures me permettent de faire plus simplement ces choses, il faut en parler à ce moment là.

    Le titre 4.5 sur la proc COMPARE n'a rien à voir avec ce chapitre, lui aussi aurait du être dans le chapitre 6.
    PROC COMPARE sert à comparer des tables et c’est bien souvent au moment où se posent des questions de fusion de tables que des comparaisons sont nécessaires. Cette procédure a donc toute sa place dans ce chapitre consacré aux fusions de table (et n’a pas sa place, tout comme PROC SORT, PROC RANK et PROC TRANSPOSE, dans le chapitre 6 consacré aux procédures courantes de primo exploitation des tables).

    Là encore, un titre n'a rien à voir avec l'exposé : la gestion des options de lancement des sessions SAS dans le titre 5.7. Il devrait se retrouver dans le chapitre 1.
    Les options que l’on pourrait présenter dans un chapitre introductif sont les options les plus courantes de mise en forme de la fenêtre SORTIE mais cette fenêtre tombe en désuétude (elle n’est même plus destination de sortie par défaut avec SAS 9.3), alors, à quoi bon… Maintenant, et toujours dans l’optique d’une lecture linéaire de mon ouvrage, cette section dédiée aux options (PROC OPTSAVE, PROC OPTLOAD, l’accès aux plus de 350 options qui régissent le fonctionnement de SAS, AUTOEXEC.SAS et SASV9.CFG) précède les trois chapitres dédiés à la production de résultats : c’est au moment de la production des sorties que l’utilisateur débutant va principalement se poser la question de l’existence d’options qui pourraient faire ci ou ça. Maintenant, en ce qui concerne l’objet des quatre premiers chapitres, il est aussi nécessaire de recourir à des options afin de régler certains problèmes. Ces options (DFLANG=, NOFMTERR, FMTSEARCH, YEARCUTOFF=, NOREPLACE, REPLACE…) sont présentées et expliquées au moment où j’en ai besoin, pas dans un fourre-tout.

    L’utilisateur qui souhaite disposer à un endroit donné de toutes les options n’a pas besoin d’un ouvrage : il suffit de consulter l’aide SAS

    Là encore, on retrouve un titre sur l'ODS TRACE en pleine explication de l'ODS HTML, au lieu d'être placé dans les principes de l'ODS détaillés quelques pages avant.
    Les principes de l’ODS expliqués quelques pages avant insistent sur la notion de destination – c’est assez délicat à faire comprendre et j’ai préféré « éloigner » ODS TRACE. Il m’a semblé plus pertinent de l’introduire au moment de l’examen de la première destination ODS externe : ODS HTML.

    Enfin, Stéphane note quelques manques :

    L'accent mis sur les passerelles Excel/SAS se retrouvent bien dans le livre, même si les problématiques de plus en plus courantes liées aux plates-formes 64 bits ne sont pas traitées.
    On est ici sur des problématiques que j’estime très éloignées de celles de l’utilisateur débutant ou de niveau intermédiaire. (il s’agit d’un problème de plus essentiellement dû à Microsoft qui livre un Excel 32 bits qui tourne en 64 – le code source de SAS est lui déjà en 64 bits)

    la proc FCMP apparaît, mais n'est que survolée.
    L’utilisateur débutant ou de niveau intermédiaire doit avoir conscience que la fonction dont il a besoin doit très certainement exister parmi les 520 fonctions et routines livrées avec SAS (aide SAS 9.3) mais que si elle n’existe pas, il y a moyen de la créer. C’est l’objet de mon introduction à PROC FCMP : si vous ne trouvez pas dans la liste des fonctions livrées avec SAS la fonction dont vous avez besoin, vous pouvez la créer au moyen de PROC FCMP et je vous donne deux exemples ainsi qu’un ensemble de références devant vous aider à mieux appréhender PROC FCMP.

    Proposer un vrai topo sur PROC FCMP (et PROC PROTO qui suit…), c’est TRES largement au-delà de ce que mon bouquin souhaite faire.

    Le seul point surprenant dans ce chapitre [6] concerne deux options importantes que l'auteur n'a pas traité alors qu'elles sont couramment utilisées : l'option NWAY de la proc MEANS et LIST de la proc FREQ.
    Oui… il y aura toujours des manques… maintenant, dans tout l’ouvrage, j’incite le lecteur à consulter l’aide en lui indiquant que c’est LA source à laquelle il doit systématiquement se référer : près d’une centaine d’entrées de l’aide sont signalées dans l’ouvrage, j’invite le lecteur à systématiquement consulter ces entrées et comme je précise dans mes développements que je ne présente pas toutes les options… peut être que le lecteur aura l’idée de consulter l’aide….

    Enfin, un regret sur la proc TEMPLATE. L'auteur n'aborde pas le GTL (Graphics Template Language) alors que la découverte du module SAS/GRAPH et de la SGPLOT fait partie des sujets développés dans cette version.
    Avant de se lancer dans GTL, il faut déjà avoir une très bonne habitude de l’ensemble des procédures Statistical Graphics (puisqu’elles ne font, en réalité, qu’exécuter du GTL). C’est en effet lorsque les procédures SG sont parfaitement maîtrisées que l’utilisateur peut savoir que le graphique qu’il souhaite construire nécessite l’utilisation du GTL.

    Le chapitre 7 traite certes de PROC SGPLOT mais il ne doit être considéré que comme une introduction. SGPLOT, c’est vingt instructions graphiques, je ne traite que les plus usuelles. PROC SGPANEL et PROC SGSCATTER sont absents de ma présentation : les conditions d’une maîtrise des procédures SG ne sont donc pas réunies et il était donc inutile selon moi de présenter GTL malgré tout l’intérêt que peut avoir ce langage.

    Ce chapitre [7] est de loin le meilleur et mérite l'attention du lecteur.
    Et bien, en ce qui me concerne, c’est peut être le chapitre le plus immédiatement applicable mais c’est aussi le plus incomplet. J’avais d’autres ambitions pour ce chapitre 7 mais n’ai pas pu obtenir de la part de mon éditeur plus de 466 pages… Ce sera pour une troisième édition sans doute.

    a+

    Sébastien Ringuedé

Discussions similaires

  1. Réponses: 1
    Dernier message: 16/12/2008, 11h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo