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 :

Colorer une ligne sur deux Proc Tabulate


Sujet :

ODS et reporting

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    376
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 376
    Points : 199
    Points
    199
    Par défaut Colorer une ligne sur deux Proc Tabulate
    Bonjour,

    Je voudrais savoir comment je pourrais colorer une ligne sur deux plus foncée d'un tableau généré par une proc tabulate.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    PROC TABULATE DATA = table ;
    CLASS variables1 ;
    VAR variables2 ;
    TABLE … ;
    RUN ;
    J'ai pensé au paire et impaire avec une boucle et une variable type entier qui s'incrémente. Par exemple quand c'est paire j'affecte à la ligne une couleur grise et quand c'est impaire en gris foncé.

    Mais je ne vois pas comment faire !

    Merci beaucoup

  2. #2
    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 : 46
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 064
    Points : 4 478
    Points
    4 478
    Par défaut
    Bonsoir.
    Je ne pense pas qu'on puisse obtenir ça de la proc Tabulate, parce qu'on ne peut pas changer le style d'une ligne entière sous condition. Par contre, avec Report, ça se passe comme tu le proposes : avec un compteur, initialisé en début de tableau, et incrémenté à chaque ligne. Et un CALL DEFINE pour changer le style à chaque ligne paire (repérer par la fonction MODulo).
    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
    ODS PDF FILE="c:\temp\test.pdf" ;
    PROC REPORT DATA=sashelp.class NOWD ;
    	COLUMNS age sex weight N ;
    	DEFINE age / GROUP ;
    	DEFINE sex / GROUP ;
    	DEFINE weight / MEAN ;
    	COMPUTE BEFORE ;
    		numLigne = 0 ;
    	ENDCOMP ;
    	COMPUTE weight ;
    		numLigne + 1 ;
    		IF MOD(numLigne,2)=0 THEN CALL DEFINE(_ROW_, "STYLE", "STYLE=[BACKGROUND=GRAYB0]") ;
    		ELSE					  CALL DEFINE(_ROW_, "STYLE", "STYLE=[BACKGROUND=WHITE]") ;
    	ENDCOMP ;
    RUN ;
    ODS PDF CLOSE ;
    Olivier
    Bon courage.
    Olivier

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    376
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 376
    Points : 199
    Points
    199
    Par défaut
    merci ça fonctionne (désolé de mettre résolut si tard)

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

Discussions similaires

  1. colorer une ligne sur deux dans une listbox
    Par Didpa dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 31/08/2010, 13h59
  2. Colorer une ligne sur deux d'un tableau
    Par mogz29 dans le forum Langage
    Réponses: 3
    Dernier message: 01/11/2009, 21h18
  3. Colorer une ligne sur deux dans plage de cellules
    Par JML62400 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/02/2009, 19h48
  4. Colorer une ligne sur deux d'un crosstab
    Par zibou7 dans le forum iReport
    Réponses: 0
    Dernier message: 26/11/2008, 16h26
  5. Colorer une ligne sur deux dans un tableau croisé
    Par markoBasa dans le forum iReport
    Réponses: 1
    Dernier message: 25/09/2008, 11h15

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