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 09/03/2011, 16h53   #1
Nouveau Membre du Club
 
Femme Marie
Ingénieur développement logiciels
Inscription : septembre 2008
Messages : 48
Détails du profil
Informations personnelles :
Nom : Femme Marie
Âge : 25
Localisation : France

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

Informations forums :
Inscription : septembre 2008
Messages : 48
Points : 28
Points : 28
Par défaut crosstab / filtre / soustraction

Bonjour,

J'ai un crosstab A avec des données de l'année 2009 et un crosstab B avec des données de l'année 2010. (le filtre sur l'année se fait au niveau du crosstab, il ne s'agit pas d'une de mes dimensions).

Je souhaite avoir un crosstab qui va être la soustraction de A par B. Je ne sais pas si je suis assez claire, je m'explique :

A - 2009 :
Première dimension : Statut (G, C, R).
Seconde dimension : Nationalité (Français, Nationaux, Etrangers).
Mesure : nombre d'élève

#######G|C|R
Français#|
Nationaux|AGREGATION
Etrangers|

Agrégation : le crosstab automatiquement va afficher le nombre d'élève par nationalité et statut. Dans mon cube j'ai une dimension temps (année). Ce que je souhaite c'est avoir cette agrégation avec l'année 2009, une autre avec l'année 2010 et une donnée avec la soustraction des deux.

Le problème c'est que la dimension temps n'apparait pas dans mon crosstab (je veux pas l'afficher, c'est l'utilisateur qui choisit l'année) et donc je ne peux pas filtrer sur cette dimension dans mes agrégations.

Je pense que ce que je demande n'est pas possible avec un crosstab mais on sait jamais ... La seule solution serait de passer une table ou un seul crosstab ? Je suis donc obligée d'ajouter le temps à mes dimensions ?

Si ma requête n'est pas claire je peux apporter des précisions.

--
Marie
shintaa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 18h17   #2
Membre confirmé
 
Nicolas Vives
Inscription : avril 2010
Messages : 178
Détails du profil
Informations personnelles :
Nom : Nicolas Vives

Informations forums :
Inscription : avril 2010
Messages : 178
Points : 212
Points : 212
Bonjour,

Je pense que le plus simple serait que tu fasses un troisième tableau croisé, copié sur le modèle des deux précédents, mais sans filtre général sur l'année.
Dans ce tableau, tu peux modifier chaque donnée d'agrégation pour lui ajouter un filtre individuel (sur l'année). Ensuite, en dupliquant chaque donnée, et en modifiant le filtre de chaque copie (sur l'autre année - tu devras renommer cette copie pour bien distinguer les deux données différentes), tu te retrouveras avec tes deux données dans la même cellule. Tu n'auras plus qu'à faire une troisième donnée étant la différence des deux premières (tu n'es pas obligée de garder les deux premières affichées, elles existeront toujours dans le "binding" de ton tableau).

Si jamais tu devais rendre le système dynamique (même comportement sur plusieurs années au lieu de deux), ça ne serait sans doute plus faisable comme ça.

Bon courage.

Edit : je suis allé un peu vite sur la gestion de l'année. Pour qu'elle soit accessible tu risques de devoir pas mal bidouiller ton tableau. Si tu bloques dis le moi, je ferai un exemple.
nicolas.1.vives est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 18h26   #3
Nouveau Membre du Club
 
Femme Marie
Ingénieur développement logiciels
Inscription : septembre 2008
Messages : 48
Détails du profil
Informations personnelles :
Nom : Femme Marie
Âge : 25
Localisation : France

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

Informations forums :
Inscription : septembre 2008
Messages : 48
Points : 28
Points : 28
Bonsoir,

Je ne pense pas que ta solution fonctionne. C'est impossible d'ajouter un filtre individuel sur une donnée par rapport à l'année. Les seuls filtres possibles sont par rapport aux dimensions utilisés par le tableau (dans mon exemple la dimension nationalité et statut). Ce n'est pas possible de filtrer une donnée par rapport à une autre dimension. Ou alors je ne vois pas par quel moyen car ds le filtre je ne peux pas sélectionner la donnée de ma dimension année.

Je me demande s'il n'y a pas moyen d'ajouter la dimension année au niveau des colonnes. Je fais des tests dans ce sens en ce moment. C'est plutôt infructueux mais je continue à chercher.

shintaa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 18h32   #4
Membre confirmé
 
Nicolas Vives
Inscription : avril 2010
Messages : 178
Détails du profil
Informations personnelles :
Nom : Nicolas Vives

Informations forums :
Inscription : avril 2010
Messages : 178
Points : 212
Points : 212
Je n'ai pas le temps de le faire maintenant mais l'idée que j'ai en tête, c'est de rajouter la dimension "temps" à ton tableau, de la mettre en amont de tes colonnes, trouver le moyen de virer les colonnes individuelles et tout faire dans le total.

Bon, c'est quand même assez pourri. Je verrai plus tard si j'ai le temps.

Bon courage.
nicolas.1.vives est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2011, 09h30   #5
Nouveau Membre du Club
 
Femme Marie
Ingénieur développement logiciels
Inscription : septembre 2008
Messages : 48
Détails du profil
Informations personnelles :
Nom : Femme Marie
Âge : 25
Localisation : France

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

Informations forums :
Inscription : septembre 2008
Messages : 48
Points : 28
Points : 28
Bonjour,

Je me suis trompée. Lorsqu'on crée un crosstab on peut filtrer ses agrégations avec n'importe quelles dimensions. Seulement dans les expressions on ne peut auto-compléter seulement les dimensions utilisées en ligne et en colonne. Mais c'est quand même possible d'écrire du code avec d'autres dimensions et ça fonctionne.

Du coup la solution est de garder les mêmes dimensions pour le crosstab. D'ajouter une agrégation pour mon nombre d'étudiant avec un filtre sur 2009 puis une autre agrégation avec un filtre sur 2010. Ensuite une donnée qui fait la différence.

C'est ce que je vais faire aujourd'hui. Si ça ne fonctionne pas exactement comme ça je reviendrais poster la solution finale.

Bonne journée,
shintaa 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 18h16.


 
 
 
 
Partenaires

Hébergement Web