Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > BIRT
BIRT Forum d'entraide sur BIRT (Business Intelligence and Reporting Tools). Avant de poster --> FAQ BIRT,Tutoriels BIRT
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 25/01/2012, 11h33   #1
Invité régulier
 
Inscription : avril 2008
Messages : 30
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 30
Points : 6
Points : 6
Par défaut Probleme d'affichage de donnée

Bonjour,

J'ai un petit problème et je ne vois pas comment le résoudre.
J'ai deux sources de données.

une du type :

semaine libelle data
2011-01 m1 150
2011-01 m2 450
2011-01 m3 156
2011-02 m1 650
2011-02 m2 950
2011-02 m3 756

et une autre du type :

semaine m1 m2 m3
2011-01 10 50 60
2011-02 80 90 40

Et voila le résultat que j'aimerais produire :

2011-01 2011-02
m1 150 10 650 80
m2 450 50 950 90
m3 156 60 756 40

Est-ce possible, ou dois-je faire de la préparation de donnée avant de les fournir à BIRT ?

Merci de votre aide.
alucardlevash est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2012, 12h14   #2
Membre confirmé
 
Homme
Consultant en Business Intelligence
Inscription : mai 2009
Messages : 186
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence

Informations forums :
Inscription : mai 2009
Messages : 186
Points : 289
Points : 289
Salut,

Le problème revient par exemple à transformer les colonnes de la 2ème source de données en lignes, puis à faire un joined dataset entre les 2 sources.

Evidemment c'est la transformation des colonnes en lignes qui va poser problème. Avec BIRT on est rarement à court de solutions, c'est possible de le faire directement dans le rapport mais c'est loin d'être simple. Maintenant est-ce souhaitable par rapport à faire une préparation des données en amont, je n'en suis pas certain car un outil comme kettle te fait ça en moins de temps qu'il n'en faut pour le dire et de manière très maintenable, avec en prime la jointure avec la première source. Mais il n'y a pas de réponse toute faite à cette question, à toi de juger en fonction du contexte, de la volumétrie, des perfs etc.

Donc l'idée est de créer en dur un dataset scripté contenant 12 lignes et une seule colonne "mois":{m1, m2,....,m12}. Il faut ensuite créer un "joined dataset" en jointure externe entre ce nouveau dataset et celui de la source de données des mois en colonnes. Cela aura pour effet de multiplier par 12 le nombres de lignes de ce dataset. Il reste ensuite à créer un champs calculé "data" dans le joined dataset obtenu, en pseudo code ça donne:
if (mois=m1) {m1}
else if (mois=m2){m2}
...
else if (mois=m12){m12}
et enfin, créer un filtre de dataset pour exclure les lignes où ce champs calculé est null.

Le dataset flambant neuf obtenu peut lui même être joint à la première source, et on se retrouve donc ensuite dans un cas "standard".

Par ailleurs comme dans ton exemple le tableau croisé ne semble pas sommer les valeurs des deux sources de données il te faudra sans doute créer un champs calculé permettant de les distinguer avant de les joindre. Mais je ne veux pas te gâcher le plaisir je te laisse découvrir tout cela par toi même

A+
donino est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h02.


 
 
 
 
Partenaires

Hébergement Web