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 17/01/2011, 11h20   #1
Invité de passage
 
Inscription : janvier 2011
Messages : 11
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 11
Points : 2
Points : 2
Par défaut Graphique Complexe et Label

Bonjour,

J'essaye actuellement d'automatiser sous SAS un reporting. Mais je suis devant un problème que je n'arrive pas à résoudre.

Je cherche à créer sous SAS, ce type de graphique (pièce jointe).

Mes deux problèmes principaux avec ce graphique sont ;
- je n'arrive pas à afficher la valeur d'un point en label mais uniquement pour le premier et le dernier.

- le format de la date : actuellement au mieux j'ai trouvé un format du style : avr10, mai10... Mais j'arrive pas à dissocier l'année du mois.

Pour le moment, j'ai tenté de coder ce programme avec une proc template (GTL) mais il y a peut être une autre méthode pour faire des graphiques de ce style.

Merci à vous
Images attachées
Type de fichier : jpg Graphique_SAS.JPG (87,6 Ko, 16 affichages)
Malex_SAS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2011, 12h52   #2
Expert Confirmé
 
Avatar de olivier.decourt
 
Homme Olivier Decourt
Formateur en informatique
Inscription : avril 2008
Messages : 1 467
Détails du profil
Informations personnelles :
Nom : Homme Olivier Decourt
Âge : 34
Localisation : France

Informations professionnelles :
Activité : Formateur en informatique
Secteur : Conseil

Informations forums :
Inscription : avril 2008
Messages : 1 467
Points : 2 823
Points : 2 823
Bonjour.
Sans session SAS pour tester, en GTL de SAS 9.2, je te proposerais de creuser :
1) les valeurs à côté de chaque point avec une option DATALABEL de ton SCATTERPLOT
2) les mois affichés avec un format FRADFMN., et une variable séparée pour l'année. Pour ton effet "double axe", peut-être un BLOCKPLOT ?
Bon courage.
Olivier
olivier.decourt est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 17/01/2011, 14h11   #3
Invité de passage
 
Inscription : janvier 2011
Messages : 11
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 11
Points : 2
Points : 2
Merci de ta réponse.

Je me suis appuyé pour le moment sur ton document qui est vraiment bien (une ou deux petites coquilles quand même ) :
http://www.od-datamining.com/reporting/GTL_9_1_3.pdf

Mais j'ai du mal à utliser SERIESPLOT avec DATALABEL et je sais pas comment avoir une courbe en utilisant SCATTERPLOT.

J'ai essayé plusieurs variantes et pour le moment j'arrive à avoir des points avec un label, mais j'arrive pas à avoir une belle courbe en même temps que les labels...

Pour les abscisses, je pense que la solution est bien d'utiliser la date avec un format mois et d'avoir une autre variable Année qu'on utilise en group by...
Malex_SAS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2011, 15h04   #4
Expert Confirmé
 
Avatar de olivier.decourt
 
Homme Olivier Decourt
Formateur en informatique
Inscription : avril 2008
Messages : 1 467
Détails du profil
Informations personnelles :
Nom : Homme Olivier Decourt
Âge : 34
Localisation : France

Informations professionnelles :
Activité : Formateur en informatique
Secteur : Conseil

Informations forums :
Inscription : avril 2008
Messages : 1 467
Points : 2 823
Points : 2 823
Ah, désolé pour les coquilles. N'hésite pas à me les remonter par mail ou MP ici, même si je n'ai plus de SAS 9.1 pour tester, j'essaierai de corriger.
Si tu n'as pas de 9.2, ça va être galère pour le double axe mois / années ; le nouvel élément BLOCKPLOT facilite bien la vie.
Pour les nuages et les courbes, en fait, contrairement à la procédure GPLOT, l'idée est ici d'avoir des éléments spécifiques : SERIESPLOT ne dessine que la courbe tandis que SCATTERPLOT ne marque que les points (et contient la fameuse option DATALABEL). Avec un LAYOUT OVERLAY, tu superposes les deux (le SERIESPLOT en 1er) et tu as le beurre (la courbe) et l'argent du beurre (les libellés).
olivier.decourt est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 17/01/2011, 15h35   #5
Invité de passage
 
Inscription : janvier 2011
Messages : 11
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 11
Points : 2
Points : 2
Les coquilles sont vraiment mineures, j'essaierai de t'envoyer un mail pour te les dire...

Une petite question supplémentaire. Est ce que c'est possible de ne pas avoir une courbe mais des Vbar ?

En tout cas, je te remercie pour ta précision sur l'utilisation du SERIESPLOT et du SCATTERPLOT.

Pour la date, je vais essayer de découper ma variable et si j'y arrive pas avec la 9.1 je me contenterai d'une seule variable.
Malex_SAS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2011, 17h24   #6
Expert Confirmé
 
Avatar de olivier.decourt
 
Homme Olivier Decourt
Formateur en informatique
Inscription : avril 2008
Messages : 1 467
Détails du profil
Informations personnelles :
Nom : Homme Olivier Decourt
Âge : 34
Localisation : France

Informations professionnelles :
Activité : Formateur en informatique
Secteur : Conseil

Informations forums :
Inscription : avril 2008
Messages : 1 467
Points : 2 823
Points : 2 823
En 9.1, les VBAR se font avec BARPARM, un élément graphique pas très sympa d'emploi. Sinon, en truandant avec NEEDLEPLOT (un SCATTERPLOT avec les points reliés à l'axe horizontal par des segments verticaux) dont tu peux peut-être trafiquer la largeur.
Du temps où j'avais une 9.1, je me plongeais (tout habillé) dans la doc ici :
http://support.sas.com/rnd/base/topi.../proctemplate/ qui est assez bien organisée. Et surtout exhaustive.
Mais franchement, si tu ne peux pas attendre la 9.2 où la syntaxe est stabilisée (car ce que tu fais actuellement, il faudra le repasser au crible pour le mettre aux normes 9.2), essaye de faire du SAS/GRAPH classique, avec une proc GPLOT, des instructions AXIS et une table ANNOTATE, ça doit bien se faire.
Bon courage en tout cas.
Olivier
olivier.decourt est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 17/01/2011, 19h25   #7
Rédacteur
 
Homme Stéphane
Consultant et formateur SAS et Cognos
Inscription : avril 2009
Messages : 1 791
Détails du profil
Informations personnelles :
Nom : Homme Stéphane
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Consultant et formateur SAS et Cognos
Secteur : Conseil

Informations forums :
Inscription : avril 2009
Messages : 1 791
Points : 4 012
Points : 4 012
j'arrive en retard sur ce sujet mais tu devrais nous envoyer un jeu de données pour que l'on puisse tenter une action.

Si tu réussis, peux-tu poster le code ?
__________________
N'oubliez pas de cliquer sur lorsque votre problème est réglé !

Moteur de recherche dans les papiers SAS
datametric est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2011, 10h25   #8
Invité de passage
 
Inscription : janvier 2011
Messages : 11
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 11
Points : 2
Points : 2
Merci pour le lien de l'aide que je n'avais pas trouvé

Je ne peux pas attendre la 9.2, mon entreprise vient de passer en 9.1 donc je pense que je peux attendre des années avant d'avoir la 9.2

BARPARM semble être moins facile d'utilisation, je n'ai pas vraiment réussi à mettre à la fois un histo avec une courbe mais je vais travailler dessus prochainement.

Avec une proc gplot, j'ai réussi à obtenir le bon résultat mais c'était le moment de me plonger dans les proc template...

Quand j'aurais un résultat correcte je posterai une solution correcte. Pour le jeu de données je peux pas le diffuser (données confidentielles) mais n'importe quelle série temporelle peut faire l'affaire

Sinon une autre petite question, est ce que l'un de vous à déjà créer un ppt à partir de SAS, je trouve pas trop d'info à ce sujet... (je vais continuer à creuser ^^)

Dernière question pour olivier : quand j'étais à l'ENSAI, tu m'avais donné mon premier cours de SAS, je me souviens qu'au dernier cours tu avais executé un programme qui permettait de jouer la lettre a Elise, ce programme utilisait quel type de procédure ?
Malex_SAS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2011, 10h57   #9
Rédacteur
 
Homme Stéphane
Consultant et formateur SAS et Cognos
Inscription : avril 2009
Messages : 1 791
Détails du profil
Informations personnelles :
Nom : Homme Stéphane
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Consultant et formateur SAS et Cognos
Secteur : Conseil

Informations forums :
Inscription : avril 2009
Messages : 1 791
Points : 4 012
Points : 4 012
As-tu l'add-in SAS ou es-tu en Foundation ?

avec l'add-in c'est assez simple alors que sous foundation le ppt est une belle usine.
Quleques lectures :
http://www2.sas.com/proceedings/sugi30/045-30.pdf
http://www2.sas.com/proceedings/sugi30/006-30.pdf
__________________
N'oubliez pas de cliquer sur lorsque votre problème est réglé !

Moteur de recherche dans les papiers SAS
datametric est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2011, 16h20   #10
Invité de passage
 
Inscription : janvier 2011
Messages : 11
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 11
Points : 2
Points : 2
J'ai l'add-in SAS.

J'avais trouvé cette documentation sous google mais c'est l'utilisation qui est pas facile.

Je m'explique :

Si j'ai bien compris dans un premier temps, il faut ouvrir EXCEL (on a pas le choix, si on veut utiliser DDE, il faut un excel...)

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
filename sas2xl dde 'excel|system';
DATA _null_;
length fid rc start stop time 8;
fid=fopen('sas2xl','s');
IF (fid le 0) then do;
rc=system('start excel');
start=datetime();
stop=start+10;
do while (fid le 0);
fid=fopen('sas2xl','s');
time=datetime();
IF (time ge stop) then fid=1;
end;
end;
rc=fclose(fid);
run;
Après ce code, j'ai bien un excel qui s'ouvre...
Après il y a une histoire de pause. Si je comprends bien il faut donner du temps à EXCEL à certain moment. On code donc une macro avec :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
DATA _null_;
file sas2xl;
put '[error(false)]';
put '[workbook.insert(3)]';
run;
filename xlmacro dde "excel|macro1!r1c1:r10c1" notab lrecl=200;
DATA _null_;
file xlmacro;
put '=wait(now()+"00:00:15")';
put '=halt(true)';
run;
filename xlmacro clear;
A ce moment, je n'arrive pas à trouver une trace de la macro sous excel, il y a bien un onglet MACRO1 qui a été créé mais rien de plus il me semble.

Je me demande à quoi sert :
Code :
1
2
filename xlmacro clear;
NOTE: Le fileref XLMACRO a été libéré.
Ca appelle la macro ?

Puis on appelle PPT :

Code :
1
2
3
4
DATA _null_;
rc=system('start powerpnt');
rc=sleep(5);
run;
Et enfin on essaye de remplir le PPT avec un long code, et là j'obtiens ce message :

Code :
1
2
3
4
5
6
7
8
9
10
11
NOTE: Le fichier SAS2XL est :
      Session DDE,
      SESSION=excel|system,RECFM=V,LRECL=256
ERREUR: Session DDE n'est pas prête.
FATAL: Erreur d'E/S non réparable détectée lors de l'exécution du programme étape data.
       Interrompu pendant la phase EXECUTION.
NOTE: 0 enregistrements copiés dans le fichier SAS2XL.
NOTE: Le Système SAS a interrompu le traitement de cette étape en raison d'erreurs.
NOTE: L'étape DATA a utilisé (Durée totale du processus) :
      temps réel                   0.01 secondes
      temps processeur   0.01 secondes
Alors là, j'avoue ne pas comprendre, il y a bien une explication dans le texte qui dit qu'on doit ajouter du temps si ça marche pas, j'ai donc passer à 15s et 20s pour le sleep mais j'ai toujours la même erreur.

Est ce que vous avez déjà réussi à paramêtrer ce genre de routine ?
Malex_SAS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2011, 16h39   #11
Rédacteur
 
Homme Stéphane
Consultant et formateur SAS et Cognos
Inscription : avril 2009
Messages : 1 791
Détails du profil
Informations personnelles :
Nom : Homme Stéphane
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Consultant et formateur SAS et Cognos
Secteur : Conseil

Informations forums :
Inscription : avril 2009
Messages : 1 791
Points : 4 012
Points : 4 012
Mais si tu as l'add-in, tu n'as pas besoin de tout cela. Tu es en SAS foundation ou BI avec l'add-in ?
__________________
N'oubliez pas de cliquer sur lorsque votre problème est réglé !

Moteur de recherche dans les papiers SAS
datametric est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2011, 17h27   #12
Invité de passage
 
Inscription : janvier 2011
Messages : 11
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 11
Points : 2
Points : 2
Comment puis je savoir cela ?
Malex_SAS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2011, 18h00   #13
Membre expérimenté
 
Inscription : avril 2009
Messages : 537
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 537
Points : 540
Points : 540
c'est quoi ton client ? Enterprise Guide?
xav2229 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2011, 18h16   #14
Invité de passage
 
Inscription : janvier 2011
Messages : 11
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 11
Points : 2
Points : 2
j'ai un sas 9.1 classic avec les modules suivant :

---Produit Base
---SAS/STAT
---SAS/GRAPH
---SAS/ETS
---SAS/FSP
---SAS/AF
---SAS/CONNECT
---SAS/INSIGHT
---SAS/ACCESS Interface to ORACLE
---SAS/ACCESS Interface to PC Files
---SAS/ACCESS Interface to ODBC
Malex_SAS est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h02.


 
 
 
 
Partenaires

Hébergement Web