IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

ODS et reporting Discussion :

Isoler des valeurs sur un graphe


Sujet :

ODS et reporting

  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2012
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Janvier 2012
    Messages : 7
    Par défaut Isoler des valeurs sur un graphe
    Bonjour,
    à la suite d'une proc reg, j'ai sorti le graphe des résidus et je voudrais identifier 2 individus qui ont des valeurs extrêmes. Comment dois-je faire ?

    Merci d'avance,
    Mélaine

  2. #2
    Membre Expert

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 364
    Par défaut
    Bonjour,

    Tu ne peux pas transférer les résultats dans une table SAS?

    Cordialement

  3. #3
    Nouveau membre du Club
    Inscrit en
    Janvier 2012
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Janvier 2012
    Messages : 7
    Par défaut
    à priori je peux le faire, mais comment repérer ensuite les données qui m'intéresse ?

  4. #4
    Membre Expert

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 364
    Par défaut
    un tri de la table est récupéré les deux premières lignes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    proc sql (outobs=2);
    select 
    from 
    order by desc var ;
    quit;

  5. #5
    Nouveau membre du Club
    Inscrit en
    Janvier 2012
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Janvier 2012
    Messages : 7
    Par défaut
    ok, donc si j'ai bien compris, j'applique l'ods trace, puis ods output, puis sur la table créée, je fais la requête sql que tu m'as indiqué ?

  6. #6
    Membre Expert

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 364
    Par défaut
    effectivement.
    Le tri déplacera les deux valeurs au début de la table.
    outobs => tu n’acceptes que deux lignes dans ta table de sortie.

  7. #7
    Nouveau membre du Club
    Inscrit en
    Janvier 2012
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Janvier 2012
    Messages : 7
    Par défaut
    Merci !

    par contre, j'ai un problème avec l'ods output : elle ne reconnait pas le nom de la sortie créée par l'ods trace. j'ai exécuté le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    ods trace on ;
    proc reg data=biomasse ;
    model dmbark = age d130 h h2 / selection = forward slentry=0.05 ;
    plot residual.*predicted. ;
    run ;
    ods trace off ;
     
    ods output Reg7=données_prédiction_dmbark ;
    proc reg data=biomasse ;
    model dmbark = age d130 h h2 / selection = forward slentry=0.05 ;
    plot residual.*predicted. ;
    run ;
    ods output close ;
    et la sortie du journal me donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    Sortie ajoutée :
    -------------
    Nom :       Reg7
    Libellé :      RESIDUAL*PRED
    Nom données :  GRSEG
    Chemin :       Reg.MODEL1.Plots.Reg7
    -------------
    56   ods trace off ;
    57   ods output Reg7=données_prédiction_dmbark ;
     
    AVERTISSEMENT: Sortie 'Reg7' non créée. Assurez-vous que le nom, le libellé ou le chemin de l'objet est correctement
                   orthographié. Vérifiez également que les options de procédure appropriées sont utilisées pour générer l'objet de
                   sortie demandé. Par exemple, vérifiez que l'option NOPRINT n'est pas utilisée.
    AVERTISSEMENT: L'instruction ODS SELECT/EXCLUDE/OUTPUT en cours a été effacée car la fin d'une procédure a été détectée. Les
                   causes probables sont : une procédure interactive toujours en cours (tapez quit; pour terminer la procédure) ou un
                   groupe run sans sortie.
    NOTE: La procédure REG a utilisé (Durée totale du processus) :
          temps réel                   23.57 secondes
          temps processeur   1.06 secondes
     
     
    58   proc reg data=biomasse ;
    59   model dmbark = age d130 h h2 / selection = forward slentry=0.05 ;
    60   plot residual.*predicted. ;
    61   run ;
     
    NOTE: Graph's name, REG, changed to REG8. REG is already used or not a valid SAS name.
    62   ods output close ;
    je ne vois pas où est l'erreur ?

  8. #8
    Membre Expert

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 364
    Par défaut
    tu as des "é" dans le nom de ta table!!!

  9. #9
    Nouveau membre du Club
    Inscrit en
    Janvier 2012
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Janvier 2012
    Messages : 7
    Par défaut
    oups !
    mais ça ne change rien, j'ai toujours le même message d'erreur dans le journal...

  10. #10
    Membre Expert

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 364
    Par défaut
    bizarre
    regarde le lien ci-dessous si il ne contient pas les sorties que tu cherches

    http://support.sas.com/documentation...eg_sect051.htm

  11. #11
    Membre Expert

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 364
    Par défaut
    La sortie est associée a ton graphique!!!
    Je donne un exemple si qq a une idée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    DATA hsb25;
      INPUT id female race ses schtype $ prog
            read write math science socst;
    DATALINES;
     147 1 1 3 pub 1 47  62  53  53  61
     108 0 1 2 pub 2 34  33  41  36  36
      18 0 3 2 pub 3 50  33  49  44  36
     153 0 1 2 pub 3 39  31  40  39  51
      50 0 2 2 pub 2 50  59  42  53  61
      51 1 2 1 pub 2 42  36  42  31  39
     102 0 1 1 pub 1 52  41  51  53  56
      57 1 1 2 pub 1 71  65  72  66  56
     160 1 1 2 pub 1 55  65  55  50  61
     136 0 1 2 pub 1 65  59  70  63  51
      88 1 1 1 pub 1 68  60  64  69  66
     177 0 1 2 pri 1 55  59  62  58  51
      95 0 1 1 pub 1 73  60  71  61  71
     144 0 1 1 pub 2 60  65  58  61  66
     139 1 1 2 pub 1 68  59  61  55  71
     135 1 1 3 pub 1 63  60  65  54  66
     191 1 1 1 pri 1 47  52  43  48  61
     171 0 1 2 pub 1 60  54  60  55  66
      22 0 3 2 pub 3 42  39  39  56  46
      47 1 2 3 pub 1 47  46  49  33  41
      56 0 1 2 pub 3 55  45  46  58  51
     128 0 1 1 pub 1 39  33  38  47  41
      36 1 2 3 pub 2 44  49  44  35  51
      53 0 2 2 pub 3 34  37  46  39  31
      26 1 4 1 pub 1 60  59  62  61  51
    ;
    RUN;
    ods trace on;
    proc reg data=hsb25;
      model write = female math / selection = forward slentry=0.05 ;;
      plot residual.*predicted. ;
    run;
    quit;
    ods trace off;
     
     
    ods output reg=sortie;
     
    proc reg data=hsb25;
      model write = female math / selection = forward slentry=0.05 ;;
      plot residual.*predicted. ;
    run;
    quit;
     
    ods output close;

  12. #12
    Expert confirmé
    Avatar de olivier.decourt
    Homme Profil pro
    Formateur R/SAS/statistiques
    Inscrit en
    Avril 2008
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Formateur R/SAS/statistiques
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 064
    Par défaut
    Reg7 est un objet graphique, on ne peut pas le "pomper" avec ODS OUTPUT.
    Par contre, tu peux obtenir tes prédictions et tes résidus avec une instruction OUTPUT OUT dans la proc REG. Les mots-clés sont P et R, à faire suivre de noms de variables à ta convenance.

  13. #13
    Nouveau membre du Club
    Inscrit en
    Janvier 2012
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Janvier 2012
    Messages : 7
    Par défaut
    voici ce que j'ai essayé de faire avec l'instruction output out :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    proc reg data=biomasse ;
    model dmbark = age d130 h h2 / selection = forward slentry=0.05 ;
    output out r=residu p=predit ;
    run ;
     
    proc sql;
    SELECT 'residu'
    where ('residu'>1.5);
    quit;
    malheureusement, cela ne fonctionne pas, la table residu n'est pas créée. voici le journal :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    151  proc reg data=biomasse ;
    152  model dmbark = age d130 h h2 / selection = forward slentry=0.05 ;
    153  output out r=residu p=predit ;
                    -
                    73
                     -
                     200
    NOTE : l'instruction précédente a été supprimée.
    ERREUR 73-322: = requis.
    ERREUR 200-322: Le symbole n'est pas reconnu et sera ignoré.
    154  run ;
     
    155
     
    NOTE: La table WORK.RESIDU a 0 observations et 0 variables.
    AVERTISSEMENT: Table WORK.RESIDU non remplacée car nouveau fichier incomplet.
    NOTE: La procédure REG a utilisé (Durée totale du processus) :
          temps réel                   0.07 secondes
          temps processeur   0.06 secondes
     
     
    156  proc sql;
    157  SELECT 'residu'
    158  where ('residu'>1.5);
         -----
         22
         76
    ERREUR 22-322: Erreur de syntaxe ; syntaxe requise : !, !!, &, *, **, +, ',', -, /, <, <=, <>, =, >, >=, ?, AND, BETWEEN,
                   CONTAINS, EQ, EQT, GE, GET, GT, GTT, LE, LET, LIKE, LT, LTT, NE, NET, OR, ^=, |, ||, ~=.
     
    ERREUR 76-322: Erreur de syntaxe ; l'instruction sera ignorée.
     
    159  quit;
    NOTE: Le Système SAS a interrompu le traitement de cette étape en raison d'erreurs.
    NOTE: La procédure SQL a utilisé (Durée totale du processus) :
          temps réel                   0.00 secondes
          temps processeur   0.01 secondes

  14. #14
    Expert confirmé
    Avatar de olivier.decourt
    Homme Profil pro
    Formateur R/SAS/statistiques
    Inscrit en
    Avril 2008
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Formateur R/SAS/statistiques
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 064
    Par défaut
    Il faut indiquer le nom de la table à créer après OUT, comme tu le fais habituellement dans ton ODS OUTPUT.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    output out=work.sorties r=residu p=predit ;
    Le SQL ensuite sera quelque chose comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    proc sql;
    SELECT residu
    FROM work.sorties
    WHERE (residu>1.5);
    quit;

  15. #15
    Nouveau membre du Club
    Inscrit en
    Janvier 2012
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Janvier 2012
    Messages : 7
    Par défaut
    enfin ! ça marche !
    merci beaucoup pour votre réactivité et votre aide vous m'avez tirée d'un mauvais pas, merci bien

    bonne continuation !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Tracer des "cases" sur un graphe en fonction de valeurs
    Par linpro.lalaland dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 09/07/2014, 19h56
  2. [Débutant] Tracer des "cases" sur un graphe en fonction de valeurs
    Par linpro.lalaland dans le forum MATLAB
    Réponses: 0
    Dernier message: 09/07/2014, 12h06
  3. Substituer des valeurs sur des axes de graphs
    Par moussecp dans le forum Images
    Réponses: 2
    Dernier message: 26/04/2010, 01h23
  4. Réponses: 3
    Dernier message: 05/03/2007, 12h54
  5. [StringGrid] Aligner des valeurs sur le '.' ?
    Par MiJack dans le forum Langage
    Réponses: 3
    Dernier message: 06/02/2006, 16h55

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