Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > SAS > ODS et reporting
ODS et reporting Forum d'entraide sur les fonctionnalités de reporting de SAS : gérer les sorties et graphiques de SAS
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/01/2008, 10h12   #1
Nouveau Membre du Club
 
Inscription : avril 2007
Messages : 95
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 95
Points : 25
Points : 25
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
mitmit est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/01/2008, 10h46   #2
Membre chevronné
 
Avatar de steelspirit
 
Inscription : janvier 2008
Messages : 420
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : janvier 2008
Messages : 420
Points : 739
Points : 739
Envoyer un message via MSN à steelspirit
Bonjour,

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

Citation:
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
steelspirit est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/01/2008, 11h19   #3
Nouveau Membre du Club
 
Inscription : avril 2007
Messages : 95
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 95
Points : 25
Points : 25
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 ^^.

++
mitmit est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/01/2008, 11h29   #4
Membre chevronné
 
Avatar de steelspirit
 
Inscription : janvier 2008
Messages : 420
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : janvier 2008
Messages : 420
Points : 739
Points : 739
Envoyer un message via MSN à steelspirit
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 !
steelspirit est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/01/2008, 15h04   #5
Nouveau Membre du Club
 
Inscription : avril 2007
Messages : 95
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 95
Points : 25
Points : 25
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 ++
mitmit est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/01/2008, 16h38   #6
Responsable SAS
 
Inscription : septembre 2006
Messages : 1 973
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 1 973
Points : 4 810
Points : 4 810
Salut,
Pourrais-tu nous mettre la solution de ton problème.
Merci
fafabzh6 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2008, 08h14   #7
Nouveau Membre du Club
 
Inscription : avril 2007
Messages : 95
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 95
Points : 25
Points : 25
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
mitmit est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2008, 09h13   #8
Responsable SAS
 
Inscription : septembre 2006
Messages : 1 973
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 1 973
Points : 4 810
Points : 4 810
Ok merci et bonne journée.
fafabzh6 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2008, 11h16   #9
Nouveau Membre du Club
 
Inscription : avril 2007
Messages : 95
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 95
Points : 25
Points : 25
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 :
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
mitmit est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h47.


 
 
 
 
Partenaires

Hébergement Web