|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Marie Ingénieur développement logiciels Inscription : septembre 2008 Messages : 48 ![]() |
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 |
|
|
00
|
|
|
#2 |
|
Membre confirmé
![]() Nicolas Vives Inscription : avril 2010 Messages : 178 ![]() |
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. |
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Marie Ingénieur développement logiciels Inscription : septembre 2008 Messages : 48 ![]() |
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. |
|
|
00
|
|
|
#4 |
|
Membre confirmé
![]() Nicolas Vives Inscription : avril 2010 Messages : 178 ![]() |
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. |
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Marie Ingénieur développement logiciels Inscription : septembre 2008 Messages : 48 ![]() |
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, |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com