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 21/11/2007, 11h49   #1
Membre éclairé
 
Inscription : novembre 2005
Messages : 385
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 385
Points : 362
Points : 362
Par défaut [2.2.1][Général] Calculer l'évolution entre 2 années

J'ai un tableau qui dois afficher l'évolution du nombre d'entités année par année en fonction du type d'entités.

Code :
1
2
3
4
5
6
7
Type   | 1997 | 1998 | ... | 2007
__________________________________
01     |  15  |  17  |     |  14
02 
03
__________________________________
Total  |  150  | ...
J'utilise un tableau croisé (CrossTab) se basant sur un Cube pour réaliser cette demande. Ceci ne m'a pas posé de problème.

Par contre, je dois également afficher un autre tableau qui me donne l'évolution en pourcentage du nombre d'entités par type d'entités entre l'année 1997 (première année du tableau) et l'année 2007 (dernière année du tableau) :

Code :
1
2
3
4
5
6
7
Type    | Evo 1997-2007
___________________________
01      | -20%
02      | +10%
03      | 
___________________________
Total   | -15%
Est-ce que je peux réaliser ce tableau sans créer de nouvelles requêtes, c'est-à-dire en me basant sur les fonctionnalités de BIRT ? Si oui, comment ?

merci.
erwan.bodere est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2007, 16h05   #2
Membre éclairé
 
Inscription : novembre 2005
Messages : 385
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 385
Points : 362
Points : 362
La solution utilisée :

Création d'un join dataset sur la requête précédemment créée. J'utilise un inner join pour la jointure. La jointure ce fait sur le type d'entités. Je filtre le champ année de la requête 1 à min(année) et pour la requête 2 à max(année). Ainsi, pour chaque type d'entités j'ai les informations pour l'année 1997 et l'année 2007.

Ensuite, j'ai crée 4 champs supplémentaires via les fonctionnalités d'agrégation et d'ajout de fonction rino :
- calcul de l'évolution pour un type d'entité : (nb entité 2007 - nb entité 1997) / nb entité 1997
- nombre total d'entités pour l'année 2007 (via un runningsum)
- nombre total d'entités pour l'année 1997
- calcul de l'évolution entre les totaux de 2007 et 1997.
erwan.bodere est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2007, 07h46   #3
Invité de passage
 
Inscription : octobre 2007
Messages : 9
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 9
Points : 3
Points : 3
Bonjour!
Ta discussion m'intéresse bcp mais ce que je ne comprends pas c'est que pourquoi faire une jointure de datasets?alors que les années ne sont-elles pas dans un même champ?ou créer 2 datasets venad'une même table?
shoupinou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2007, 07h53   #4
Invité de passage
 
Inscription : octobre 2007
Messages : 9
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 9
Points : 3
Points : 3
Bonjour!
Ta discussion m'intéresse bcp mais ce que je ne comprends pas c'est que pourquoi faire une jointure de datasets?alors que les années ne sont-elles pas dans un même champ?ou créer 2 datasets venant d'une même table?
Ensuite comment je fais si au lieu de calculer l'évolution d'années je voudrais calculer l'évolution mensuelle d'une année par exemple dans nu crosstab s'affichera l'evolution en % du mois de janv au mois de Déc 2006?
Merci de me répondre
shoupinou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2007, 15h29   #5
Membre éclairé
 
Inscription : novembre 2005
Messages : 385
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 385
Points : 362
Points : 362
Dans mon cas, je devais calculer l'évolution entre les valeurs de l'année 1997 et les valeurs de l'année 2007. Du coup, il faut créer une requête pour chaque année et utiliser un join dataset pour mettre les informations sur 1 seule ligne. Si j'utilise une seule requête, alors les données seront sur 2 lignes.

Ensuite, il ne reste plus qu'à créer des données calculées.
erwan.bodere est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h13.


 
 
 
 
Partenaires

Hébergement Web