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

BIRT Discussion :

Fusion de cellules en fonction de leur valeur [FAQ]


Sujet :

BIRT

  1. #1
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut Fusion de cellules en fonction de leur valeur
    Bonjour à tous,

    Je fais mes premiers pas avec BIRT, et j'aimerais savoir s'il est possible de réaliser des "ruptures" dans un rapport (comme avec BO). Par exemple, dans un tableau avec deux colonnes, région et département, j'aimerais regrouper les régions ensemble (fusionner les cellules qui correspondent à une même région). J'ai trouvé la création de groupes, mais ça n'a pas l'air de dorrespondre à ce que je cherche...

    Merci pour votre aide

  2. #2
    Membre éprouvé

    Inscrit en
    Septembre 2005
    Messages
    99
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Septembre 2005
    Messages : 99
    Par défaut un exemple si possible
    plop,
    pourrais tu donner un example sous forme de tableau afin qu'on comprenne mieux ton besoin.

    ex:
    Avant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ------------------------------
    Region       | Departemenent -
    ------------------------------
    IDF          |   75000
    Aquitaine    |   33000
     ...         |      ...
    ------------------------------
    Apres
    .....

  3. #3
    BiM
    BiM est déconnecté
    Expert confirmé
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Par défaut
    Bonjour,

    Je crois comprendre ton problème.
    Je te propose de faire des tableaux imbriqués :

    - Tableau "régions" (1 colonne, 2 lignes de détail) :
    - Tu y crée un groupe ParRegion sur le champs "NuméroRégion" (ou "Nom région")
    - Tu affiches le nom de la région dans la première ligne
    - Dans la deuxième ligne, tu insères un autre tableau "Départements" (2 colonnes, 1 ligne de détail) :
    - Dans la cellule de gauche, tu met le numéro du département
    - Dans la cellule de gauche, tu met le numéro du département
    - Ensuite, via la vue Outline, tu sélectionnes le tableau qui correspond à "Départements" et dans le Property Editor, tu vas dans l'onglet Filters et tu fais Add, dans Expression tu mets row["NumeroRegion"], dans Operator tu mets Equal to et dans Value 1 tu mets row._outer["NumeroRegion"].

    ...si je comprend bien ce que tu veux...

  4. #4
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    Rebonjour !

    Désolé pour le manque de précisions...

    J'ai des données comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    --------------------------------------
    Région         | Département  | Donnée
    --------------------------------------
    Alsace         | Bas-Rhin     | 10
    --------------------------------------
    Alsace         | Haut-Rhin    | 30
    --------------------------------------
    Aquitaine      | Dordogne     | 20
    --------------------------------------
    Aquitaine      | Gironde      | 5
    --------------------------------------
    Aquitaine      | Landes       | 40
    --------------------------------------
    ...
    Et j'aimerais avoir:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    --------------------------------------
    Région         | Département  | Donnée
    --------------------------------------
                   | Bas-Rhin     | 10
    Alsace         |----------------------
                   | Haut-Rhin    | 30
    --------------------------------------
                   | Dordogne     | 20
                   |----------------------
    Aquitaine      | Gironde      | 5
                   |----------------------
                   | Landes       | 40
    --------------------------------------
    ...
    Je travaille avec Eclipse 3.2 (et j'ai notemment l'impression que la présentation a changé... je n'ai par exemple pas d'éditeur de propriétés).

    Je me suis inspiré de la proposition de BiM (Merci ! ) pour arriver à un résultat proche de ce que je cherche :
    - j'ai créé un tableau des régions avec deux colonnes ;
    - j'ai regroupé mes régions ;
    - j'ai supprimé le détail de ce tableau ;
    - j'ai ajouté un tableau des départements dans la deuxième colonne (dans l'en-tête de mon groupe) ;
    - j'ai ajouté un groupe sur les régions dans ce deuxième tableau (nécessaire apparemment pour pouvoir filtrer) ;
    - j'ai filtré le deuxième tableau comme indiqué par BiM.

    Mise à part la complexité de cette manipulation, la différence par rapport à ce que je recherche est uniquement dans la présentation des titres : je n'ai pas sur la même ligne les titres "Région", "Département" et "Données", mais "Département" et "Données" se retrouvent à chaque région.

    Un exemple étant plus parlant qu'un long discours, voici ce que j'obtiens :
    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
    --------------------------------------
    Région         |
    --------------------------------------
    Alsace         | Département  | Donnée
                   |----------------------
                   | Bas-Rhin     | 10
                   |----------------------
                   | Haut-Rhin    | 30
    --------------------------------------
    Aquitaine      | Département  | Donnée
                   |----------------------
                   | Dordogne     | 20
                   |----------------------
                   | Gironde      | 5
                   |----------------------
                   | Landes       | 40
    --------------------------------------
    ...
    Peut-on faire mieux ?

    Merci !

  5. #5
    BiM
    BiM est déconnecté
    Expert confirmé
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Par défaut
    Oui, tu fais trois colonnes au premier tableau avec une ligne de titre et une ligne de détail.

    Dans la ligne de titre, tu mets tes trois titres Région, Département et Données.
    Dans la ligne de détail, tu mets ton nom de région dans la première cellule et dans tu fusionnes la cellule 2 et 3 dans lesquelles tu mets ton tableau imbriqué sans titre.

    Tu vois ce que je veux dire ?

    (Penses à bien aligner les cellules et titres

  6. #6
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    Citation Envoyé par BiM
    Oui, tu fais trois colonnes au premier tableau avec une ligne de titre et une ligne de détail.

    Dans la ligne de titre, tu mets tes trois titres Région, Département et Données.
    Dans la ligne de détail, tu mets ton nom de région dans la première cellule et dans tu fusionnes la cellule 2 et 3 dans lesquelles tu mets ton tableau imbriqué sans titre.

    Tu vois ce que je veux dire ?

    (Penses à bien aligner les cellules et titres
    Oui, en effet, ça marche !
    Je ne sais pas comment j'ai pu ne pas y penser !

    Merci !

  7. #7
    BiM
    BiM est déconnecté
    Expert confirmé
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Par défaut
    Mais de rien

    Si tu veux faire plus aligné aussi tu peux toujours faire un tableau imbriqué dans la deuxième cellule et un autre dans la troisième. Par contre, j'ai peur que tu perdes un peu en performance (Ceci dit, il n'y a qu'une centaine de départements).

  8. #8
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    Citation Envoyé par BiM
    Si tu veux faire plus aligné aussi tu peux toujours faire un tableau imbriqué dans la deuxième cellule et un autre dans la troisième. Par contre, j'ai peur que tu perdes un peu en performance (Ceci dit, il n'y a qu'une centaine de départements).
    Un tableau avec les départements n'était qu'un exemple
    Je pense en effet que faire plusieurs sous-tableaux risque d'être pénalisant pour les performances...
    Pour l'instant, je ne peux pas trop vérifier cet impact car je travaille uniquement avec l'aperçu sur eclipse... avec des performances dans les chaussettes même pour un tableau très simple avec très peu d'éléments

  9. #9
    Membre expérimenté

    Inscrit en
    Avril 2010
    Messages
    178
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 178
    Par défaut Solution simple
    Bonjour,
    Je me suis posé la question de cette discussion, j'ai implémenté la solution des tableaux imbriqués, et finalement j'ai trouvé la manière réelle de réaliser ce regroupement de cellules.
    J'ignore si cette question à été traitée ultérieurement dans une discussion plus récente mais comme je suis tombé sur celle-ci en premier, je vais au moins y répondre ici.

    NOTE : je travaille avec la version 2.5.1.

    Tout se résume à l'utilisation de la propriété "drop" des cellules des headers de groupes. Je m'explique (cf. les captures d'écran en PJ, exemple avec les données du "MyFirstReport" fourni par BIRT) :

    1 - (cf. "01 - No drop.jpg") - Réalisez un tableau avec des groupes standards (noms des groupes dans les cellules des group headers correspondants)
    Nom : 01 - No drop.jpg
Affichages : 460
Taille : 80,2 Ko
    2 - (cf. "02 - property.jpg") - Pour chaque cellule des group headers contenant un titre de groupe, allez dans l'éditeur de propriété, puis dans les propriétés avancées, et valorisez la propriété "drop" à "Details" ou "All" (jusqu'à ce jour, je n'ai jamais observé de différence).
    Nom : 02 - property.jpg
Affichages : 428
Taille : 96,8 Ko
    3 - (cf. "03 - Drop normal.jpg") - Vous obtenez le résultat partiellement correct suivant. Premier problème observé : les noms de groupes ne sont pas centrés dans leurs cellules, mais situés sur la première cellule de détail.
    Nom : 03 - Drop normal.jpg
Affichages : 444
Taille : 136,3 Ko
    4 - (cf. "04 - Drop centre.jpg") - Corrigez ce premier problème en valorisant à "middle" la propriété de chaque cellule de group header impliqué appelée alignement vertical (catégorie "général").
    Nom : 04 - Drop centre.jpg
Affichages : 479
Taille : 131,8 Ko
    5 - (cf. "05 - Bordures OK.jpg") - Dernier problème : les "lignes fantômes" qui correspondent aux cellules des lignes de group headers qui n'ont pas été "droppées" et qui créent des cadres supplémentaires. A ce jour, je n'ai pas réussi à les supprimer complètement. Plusieurs compromis sont possibles :
    - Définir la taille des lignes des group headers à 0 (vous ne verrez plus la ligne dans votre designer, et les bordures seront plus épaisses que les normales)
    - Ma solution préférée : définir intelligemment les bordures pour ne pas afficher les bordures inutiles ; ainsi, le seul effet sera que les premières cellules de chaque catégorie seront un peu plus grosses que les autres.
    Je préfèrerai bien sûr que quelqu'un trouve comment supprimer complètement ces cellules vides (qui causent des problèmes lors d'exports excel, si j'en crois d'autres discussions).
    Nom : 05 - Bordures OK.jpg
Affichages : 441
Taille : 120,4 Ko

    Toutes mes excuses si la solution a déjà été donnée ailleurs, je ne l'ai pas trouvée lors de mes recherches (pas même dans les forums et tutoriels en anglais, j'ai du trouver l'astuce de l'alignement vertical seul).

  10. #10
    BiM
    BiM est déconnecté
    Expert confirmé
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Par défaut
    Merci pour cette précision de réponse et superbe démonstration.

    Le sujet étant tagué FAQ, je pense qu'il aurait dû y être ajouté en tant que réponse. Vu que cela n'a pas été fait, nous allons le faire à la prochaine mise à jour.

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

Discussions similaires

  1. [XL-2007] Recherche de cellules en fonction de leur valeur
    Par christophe_fr dans le forum Excel
    Réponses: 6
    Dernier message: 08/07/2014, 18h36
  2. [XL-2013] Mise en forme de cellules en fonction de leur valeur (contenu dans un tableau )
    Par pedro2792 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/01/2014, 14h03
  3. Réponses: 10
    Dernier message: 30/03/2009, 14h30
  4. Fusion de cellules en fonction de leurs valeurs
    Par sisi37 dans le forum Composants
    Réponses: 1
    Dernier message: 28/10/2008, 14h40
  5. Réponses: 7
    Dernier message: 13/10/2007, 23h31

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