Bonjour,
Je souhaite faire un rapport contenant un tableau croisé. Ce tableau comportera trois mesures : montants, quantités et totaux.
Je veux que pour les totaux et les quantités la valeur affichée soit la somme des lignes correspondantes (jusqu'ici pas de problème) et que pour les montants ce soit la moyenne des montants pondérée par les quantités... et c'est là qu'arrivent les ennuis.
Si j'ai comme données :
1 2 3
| quantité montant total
10 10 100
20 25 500 |
Je veux obtenir dans mon tableau croisé :
1 2
| quantité montant total
30 20 600 |
J'ai donc essayé de définir ma mesure comme étant :
dataSetRow["total"]/dataSetRow["quantite"]
avec comme fonction d'aggrégation la somme mais cela n'est pas satisfaisant car j'obtiens :
1 2
| quantité montant total
30 35 600 |
En fait, il me fait
alors que je voudrais
J'ai également essayé de diviser les mesures quantité et total entre elles (ce qui revient à diviser les données aggrégées mais j'obtiens une erreur comme quoi BIRT n'a pas pu créer le cube : pas totalement illogique car cela revient à lui dire d'utiliser le cube pour construire le cube).
Avez-vous une idée sur la manière de procéder pour obtenir le résultat souhaité ?
En vous remerciant par avance et en espérant avoir été clair (n'hésitez pas à me demander plus de détails).
EDIT : J'ai trouvé un début de solution
data["total"]/data["quantite"]
dans un dynamic text mais ça a l'inconvénient de ne pas pouvoir se positionner "correctement". En effet, cela va faire une présentation du genre :
1 2 3 4 5
| ________________
|montant |.....|
|--------|total|
|quantité|.....|
---------------- |
alors que je souhaiterais tout aligner donc [montant|quantité|total] (qui a dit que j'étais chi*** ?
)
Partager