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 31/01/2011, 16h14   #1
Invité régulier
 
Inscription : février 2009
Messages : 16
Détails du profil
Informations personnelles :
Âge : 30
Localisation : Belgique

Informations forums :
Inscription : février 2009
Messages : 16
Points : 8
Points : 8
Par défaut Création d'un template

Bonjour,

J'ai créé un template personnalisé mais il y a des trucs qui ne marchent pas...

Code :
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
 
PROC TEMPLATE;
	DEFINE STYLE STYLES.MYTEMPLATE;
	PARENT = STYLES.SASWEB;
 
	COMMENT Style de ODS TEXT= ;
	CLASS USERTEXT / 
		JUST=CENTER
		FONTSIZE=12PT
		FONTWEIGHT=MEDIUM
		FONTSTYLE=ROMAN
		COLOR=WHITE
		BACKGROUNDCOLOR=cx8D0000
		BORDERCOLOR=BLACK
		;
 
	COMMENT Style du Continued qui apparait lorsqu un tableau est splitté;
        COMMENT Problème 1;
	CLASS CONTINUED /
		COLOR=cx8D0000 
		;
 
	CLASS DATA /
		COLOR=cx8D0000 
		;
 
	COMMENT Style du numéro de page;
	CLASS PAGENO /
		VJUST=BOTTOM
		JUST=RIGHT
		FONTWEIGHT=MEDIUM
		FONTSTYLE=ROMAN
		COLOR=cx8D0000 
		BACKGROUNDCOLOR=WHITE
		;
 
	COMMENT Label des tableaux;
	CLASS HEADER /
		JUST=CENTER
		FONTFAMILY="Arial"
		FONTSIZE=12PT
		FONTWEIGHT=MEDIUM
		FONTSTYLE=ROMAN
		BORDERCOLOR=cxFFFFFF 
		BACKGROUNDCOLOR=cx8D0000 
		COLOR=cxFFFFFF
		;
 
	COMMENT Valeurs dans la TABLE;
	CLASS TABLE /
		JUST=CENTER
		FONTFAMILY="Arial"
		FONTSIZE=12PT
		FONTWEIGHT=MEDIUM
		FONTSTYLE=ROMAN
		/*BORDERCOLOR=cxFFFFFF */
		BACKGROUNDCOLOR=cxFFFFFF 
		COLOR=cx8D0000
		BORDERCOLOR=cxFFFFFF
		BORDERWIDTH=1
		BORDERBOTTOMWIDTH=1
		;
 
	COMMENT Problème 2;
 
	CLASS CELL /
		BORDERBOTTOMCOLOR=cx8D0000
		BORDERBOTTOMWIDTH=1
		COLOR=cx8D0000
		BACKGROUNDCOLOR=cxFFFFFF 
		BORDERWIDTH=1
		;
 
	END;
RUN;
 
ODS GRAPHICS / MAXLEGENDAREA=80 NOBORDER;
 
OPTIONS NODATE;
 
GOPTION DEVICE=CLJA4;
 
ODS PDF FILE='c://test.pdf' STYLE=STYLES.MYTEMPLATE 
	STARTPAGE = NO 
	PDFTOC=1
	;
 
ODS TEXT = '       Test du template          ';
COMMENT Problème 3;
ODS TEXT = ' ';
 
PROC PRINT DATA=SASHELP.CLASS;
RUN;
 
PROC TABULATE DATA=SASHELP.CLASS ;
      CLASS NAME AGE;
      VAR WEIGHT;
      TABLE NAME, AGE * WEIGHT='' *SUM=''  ;
RUN;
 
ODS _ALL_ CLOSE;
Premier problème, je n'arrive pas a changer le style du continued qui apparait avec la procédure tabulate. Le label non plus. CLASS CONTINUED devrait marcher mais non lol. Je pense que y'a une autre possibilité avec AfterCaption (classe de style) mais je n'ai pas réussi non plus.

Ensuite, les valeurs de mon tableaux sont en noir au lieu d'être bordeau. J'ai ajouté CLASS CELL et CLASS DATA mais cela reste toujours noir.

Et comme 3ième problème, j'essaye de faire un cadre noir à mon ODS TEXT
avec BORDERCOLOR=BLACK mais sans succès non plus. C'est production cette façon de programmer un template et c'est bourré de bug ou bien je me plante ?

Cordialement,

Mikael
blastmind est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2011, 22h22   #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
Bonsoir Mikael.
Cette syntaxe que tu utiles avec des CLASS, je ne la connais pas, et effectivement on peut penser qu'elle est instable. Sur ma machine (9.2), tout fonctionne bien avec la norme "officielle" de SAS (STYLE élément FROM élément) qui remplace certains attributs et pour tout ce qui n'est pas précisé, pioche dans le style parent. C'est la syntaxe décrite ici. Si tu as une version antérieure à 9.2, je ne peux pas faire de tests, mais visiblement, d'après l'article, tu devrais te tourner vers des REPLACE au lieu des CLASS.
Cela dit, tes 3 problèmes se solutionnent de la manière suivante.
1) le texte (CONTINUED) : on ne peut pas modifier le texte lui-même, qui vient de la procédure et pas de l'ODS. Mais pour son aspect c'est bien l'élément AFTERCAPTION (comme l'indique la doc de la proc Tabulate, au détour de l'option NOCONTINUED) :
Code :
1
2
3
4
	STYLE Aftercaption  FROM Aftercaption  /
		PREtext = "A suivre"
		COLOR=cx8D0000 
    ;
2) les valeurs du tableau, c'est du ressort de l'élément DATA, effectivement :
Code :
1
2
3
	STYLE DATA FROM DATA /
		COLOR=cx8D0000 
		;
3) le texte personnalisé à encadrer se gère bien dans USERTEXT, mais en plus de fournir une couleur de bordure, il faut indiquer une largeur de bordure (par défaut elle vaut visiblement 0 des petits comiques ces développeurs SAS) et FRAME=BOX pour avoir des bordures de tous côtés. Attention, ça s'applique aussi à ton second ODS TEXT qui est vide (et du coup c'est moche !).
Code :
1
2
3
4
5
6
7
8
9
10
11
	STYLE USERTEXT FROM USERTEXT / 
		JUST=CENTER
		FONTSIZE=12PT
		FONTWEIGHT=MEDIUM
		FONTSTYLE=ROMAN
		COLOR=WHITE
		BACKGROUNDCOLOR=cx8D0000
		BORDERCOLOR=BLACK
		BORDERWIDTH=1 
		FRAME=BOX
		;
A tout prendre pour garder un peu d'espace, je ferais plutôt un retour à la ligne et un espace insécable pour avoir une ligne vide sous ton texte.
Code :
1
2
 ODS ESCAPECHAR="^" ;
ODS PDF TEXT = '       Test du template          ^n^_';
Bon courage !
Olivier
olivier.decourt est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 01/02/2011, 08h36   #3
Invité régulier
 
Inscription : février 2009
Messages : 16
Détails du profil
Informations personnelles :
Âge : 30
Localisation : Belgique

Informations forums :
Inscription : février 2009
Messages : 16
Points : 8
Points : 8
Bonjour Olivier,

Merci beaucoup pour toutes ces précisions.

Avec ça tout fonctionne. Ca fait un peut trop rouge maintenant mais bon maintenant que j'ai compris je vais pouvoir peaufiner tout ça. Dommage que tout ne marche pas correctement avec le CLASS statement.

Bonne journée!
blastmind est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2011, 09h47   #4
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
Que gagnerais-tu avec CLASS ?
__________________
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 01/02/2011, 10h49   #5
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
Cette syntaxe CLASS, que je ne connaissais pas jusqu'à que tu en parles hier, est proposée ici. L'idée en écrivant CLASS toto est de faire la même chose que STYLE toto FROM toto, comme dans la solution que j'ai proposée.
Mais bon, visiblement, ça ne marche pas à tous les coups, et la syntaxe "longue" est (jusqu'à meilleure explication) à privilégier.
olivier.decourt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2011, 11h12   #6
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
Merci Olivier
__________________
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
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h48.


 
 
 
 
Partenaires

Hébergement Web