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 :

crosstab / total / pourcentage


Sujet :

BIRT

  1. #1
    Membre averti
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2008
    Messages : 48
    Par défaut crosstab / total / pourcentage
    Bonjour,

    J'ai besoin d'afficher dans mon crosstab à la fois les totaux et les pourcentages :

    ####| col1 | col2 | Total |
    ligne1 |#2#|#10##|#12#|
    ligne2 |#3#|##5##|##8#|
    Total |#5#|#15##|#20#|
    %## |#25#|#75##|100|

    Ma ligne % est calculée comme ça :
    25 = 5 * 100 / 20
    75 = 15 * 100 / 20

    Mon problème c'est que je n'arrive pas à récupérer la valeur 20 (le total du total) pour faire ma division. Donc d'abord est-ce qu'il existe pas une variable qui contient la valeur ?

    Du coup j'ai essayé de faire une agrégation qui somme ma ligne total pour avoir le total (5 + 15 [+ 20] = 40). Le problème c'est que l'agrégation somme aussi le total. J'ai essayé d'ajouter un filtre pour que l'agrégation ne prenne pas la colonne total mais le filtre ne fonctionne pas. Je vais encore faire des tests de ce côté là mais je ne suis pas sure que ce soit la bonne méthode.

    Est-ce que quelqu'un pourrait me donner son avis ?

    --
    Marie

  2. #2
    Membre expérimenté

    Inscrit en
    Avril 2010
    Messages
    178
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 178
    Par défaut
    Bonjour,
    Pour ton pourcentage, tu n'as pas besoin de faire une agrégation supplémentaire. Au lieu de faire une agrégation, fais une simple donnée (objet "data"). De fait tu n'as qu'une donnée à définir, le pourcentage du total par colonne : tu l'insères dans la cellule de ton sous-total par colonne, et pour la valeur, tu vas dans l'expression builder et tu utilises les totaux déjà créés (en gros tu cherches à réaliser la formule "sous total par colonne / total général").
    Quant au pourcentage général, par définition il vaut 100%, donc tu peux créer un label et écrire "100%". Si tu veux te rassurer, tu peux utiliser le même principe que pour les sous-totaux par colonne, mais tu vas te retrouver avec une formule de type "total / total", donc bon...

  3. #3
    Membre averti
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2008
    Messages : 48
    Par défaut
    tu dis "tu vas dans l'expression builder et tu utilises les totaux déjà créés" c'est faux. Car je dois diviser le total d'une colonne par le total des total ...

    Enfin j'ai résolu le problème autrement.

  4. #4
    Membre expérimenté

    Inscrit en
    Avril 2010
    Messages
    178
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 178
    Par défaut
    Désolé si je n'ai pas été assez clair. Je faisais référence aux totaux générés automatiquement quand tu ajoutes la ligne de total à ton tableau croisé.

    Voici un exemple de la structure que je décris. Le résultat est illisible en affichage web, mais avec un export Excel ça devient utilisable.

    Quant à ta solution, si tu acceptes de prendre de le temps de la décrire ici, ça rendra sûrement service à ceux qui reliront ce post parce qu'ils ont le même problème.

  5. #5
    Membre averti
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2008
    Messages : 48
    Par défaut
    Non je peux pas expliquer ma méthode car le problème était trop spécifique à mes données en fait. Effectivement ta solution fonctionne.

    Je travaille avec une source de données un peu bizarre. Je ne l'ai pas dit mais par exemple ma dimension qui forme mes colonnes contient un sous total et le total. (ma dimension: G|C|G+C=ST|D|G+C+D=T) Du coup tu comprendras que mon grand total en colonne est complètement faussé si j'utilise ta méthode. En effet il ferait la somme (G+C+ST+T) alors que mon total vaut T. (c'est très tordu)

    Donc ce genre de cas ne devrait pas arriver normalement.

Discussions similaires

  1. colonne pourcentage crosstab
    Par tobirt dans le forum Cognos
    Réponses: 3
    Dernier message: 12/10/2009, 15h33
  2. crosstab et pourcentage global
    Par tobirt dans le forum BIRT
    Réponses: 3
    Dernier message: 11/08/2009, 18h03
  3. Pourcentage sur total
    Par Prisni dans le forum ODS et reporting
    Réponses: 9
    Dernier message: 31/03/2009, 16h36
  4. [2.3.0] Calcul de pourcentage sur un crosstab
    Par scariou29 dans le forum BIRT
    Réponses: 0
    Dernier message: 31/12/2008, 17h06
  5. Affichage conditionnel d' un Total sur un crosstab
    Par iooxx dans le forum iReport
    Réponses: 0
    Dernier message: 04/08/2008, 15h46

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