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 :

proc capability : graphiques multi-courbes


Sujet :

ODS et reporting

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 103
    Points : 56
    Points
    56
    Par défaut proc capability : graphiques multi-courbes
    Bonjour à tous

    Toujours dans le langage SAS, je me heurte à une nouvelle difficulté.

    J'aurais besoin de produire des probality plots sur différents groupes contenus dans une table SAS, et de les afficher sur un même graphique, avec une échelle adaptée. Actuellement, je fais un graphique par groupe (proc capability, option probplot), je les sauvegarde dans un template et je réaffiche chaque courbe dans un même graphique en utilisant ce template. Problème : l'échelle des axes n'est pas toujours adaptée.

    Existe-t-il une option de la procédure capability permettant de tracer directement plusieurs courbes sur un même graphique ? Il me semble que non mais je suis peut être passé à côté... Dans le cas contraire si quelqu'un à une technique révolutionnaire pour gérer ce problème je suis preneur

    Merci et à bientôt

  2. #2
    Membre éprouvé
    Avatar de steelspirit
    Homme Profil pro
    SAS discute
    Inscrit en
    Janvier 2008
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SAS discute
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 472
    Points : 916
    Points
    916
    Par défaut
    Bonjour,

    Tracer plusieurs courbes peut vite devenir compliqué. Je ne connais pas la proc capability mais dans la doc il y a marqué :

    Syntax
    PROBPLOT<variables > < / options >;

    variables

    are the process variables for which to create probability plots. If you specify a VAR statement, the variables must also be listed in the VAR statement. Otherwise, the variables can be any numeric variables in the input data set. If you do not specify a list of variables, then by default the procedure creates a probability plot for each variable listed in the VAR statement, or for each numeric variable in the DATA= data set if you do not specify a VAR statement. For example, each of the following PROBPLOT statements produces two probability plots, one for LENGTH and one for WIDTH:
    proc capability data=measures;
    var length width;
    probplot;
    run;

    proc capability data=measures;
    probplot length width;
    run;
    Donc essaie avec la syntaxe en gras ci-dessus.

    Bon courage

    Steel

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 103
    Points : 56
    Points
    56
    Par défaut
    Re-bonjour, merci pour la réponse

    En fait je crois que je me suis mal exprimé, je cherche à produire des probability plot sur une seule et même variable, mais qui sont classées par groupe à l'aide d'une variable contenant 1, 2, 3, etc. Ainsi les valeurs en ordonnées sont les percentiles, et en abscisses on a les valeurs de la variable.
    Donc comme je n'ai qu'une seule variable, je ne peux pas utiliser ta technique steel (que j'avais déjà expérimenté, sans succès ).

    J'essaye de récupérer les données de l'analyse et d'utiliser proc gplot pour tracer plusieurs courbes, on verra bien si je m'en sors ^^.

    ++

  4. #4
    Membre éprouvé
    Avatar de steelspirit
    Homme Profil pro
    SAS discute
    Inscrit en
    Janvier 2008
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SAS discute
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 472
    Points : 916
    Points
    916
    Par défaut
    Ah OK autant pour moi

    Peut être que si tu met ton groupe en colonne avec une proc transpose ça va marcher ^^

    Je ne sais pas si tu arriveras à récupérer un dataset contenant les points généré par probplot !

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 103
    Points : 56
    Points
    56
    Par défaut
    re ^^

    j'ai pas mal avancé, en fait je stocke les valeurs moyennes de chaque percentile que je défini avec proc capability dans une table, et je formate tout ça à coup de transpose et cie. Ensuite je peux produire un graphique contenant une courbe par groupe de variable
    Bon c'est assez peu précis puisque je bosse avec les moyennes mais c'est un bon début

    encore merci pour tes réponses ++

  6. #6
    Responsable SAS


    Inscrit en
    Septembre 2006
    Messages
    3 176
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 176
    Points : 16 157
    Points
    16 157
    Par défaut
    Salut,
    Pourrais-tu nous mettre la solution de ton problème.
    Merci

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 103
    Points : 56
    Points
    56
    Par défaut
    plop fafa

    en toute honnêteté je ne suis pas sûr que mon code soit parfaitement propre et fonctionnel pour l'instant, dès qu'il est finalisé je le posterai ^^ (c'est à dire dès qu'il aura été testé et validé par mes supérieurs hiérarchiques )

    à bientôt

  8. #8
    Responsable SAS


    Inscrit en
    Septembre 2006
    Messages
    3 176
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 176
    Points : 16 157
    Points
    16 157
    Par défaut
    Ok merci et bonne journée.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 103
    Points : 56
    Points
    56
    Par défaut
    Bon

    Après discussion avec les utilisateurs, il apparaît que le fait de n'utiliser que les valeurs moyennes de chaque percentile produit un résultat trop peu précis pour l'utilisation qui doit en être faite.
    Mon nouveau problème est donc le suivant : je dois récupérer TOUTES les valeurs produites par l'instruction probplot et les stocker pour les traiter ensuite.
    Aucune option de probplot ne semble permettre cela, aussi si quelqu'un connait une astuce pour récupérer ces valeurs...
    Je cherche une solution de mon côté, je posterais ce que j'ai fais si je parviens à trouver une solution.

    ++

    [EDIT] : une solution pourrait aussi être de calculer les percentiles via une autre procédure SAS, et de tracer le graph ensuite. Je cherche une procédure qui fait ça... Si quelqu'un la connaît merci de me renseigner ^^

    [EDIT 2] : après une demi-journée de recherche je n'ai RIEN trouvé qui puisse m'aider . J'ai ce code :
    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
    /* paramétrage axe */
    axis1 order=40 to 100 by 5 label=none;
     
    proc sort data=split_chip;
         by SPLITGR;
    run;
     
    proc capability data=split_chip noprint;
         /* sur la variable p11078 */
         var p11078;
         /* pour chaque groupe */
         by SPLITGR;
         symbol1 v=dot c=red h=0.1;
         probplot / normal
             /* définition des percentiles à utiliser */
             pctlorder=0.001 0.01 0.1 5 10 25 50 75 90 95 99 99.9 99.99 99.999
             /* paramètres d'éffichage du graphique */
             description = 'nlocfab'
             rotate haxis=axis1
             href=97 lhref=2 chref=red
             grid lgrid=3;
    run;
    Avec ça je produis une courbe par groupe de variable, mais sur des graphiques différents... Il n'existe aucun moyen (à part les templates) pour afficher toutes les courbes sur le même graphe ?
    Merci !

    [EDIT] : comme je le dis dans l'autre topic mes objectifs ont changé, je vais finalement utiliser les templates pour mes graphes multi-courbes. Merci pour votre aide à bientôt

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

Discussions similaires

  1. [GRAPH] [PROC GPLOT] Afficher plusieurs courbes sur un même graphique
    Par alers dans le forum ODS et reporting
    Réponses: 3
    Dernier message: 30/09/2013, 15h02
  2. Graphique multi-courbes
    Par Rammazotti dans le forum BIRT
    Réponses: 4
    Dernier message: 24/03/2011, 11h27
  3. Réponses: 7
    Dernier message: 30/10/2008, 11h55
  4. Graphiques multi courbes
    Par david87 dans le forum IHM
    Réponses: 2
    Dernier message: 04/06/2008, 13h23
  5. [C#] Dessiner un graphique en courbes
    Par FoxDeltaSierra dans le forum ASP.NET
    Réponses: 11
    Dernier message: 28/07/2005, 16h16

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