|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : novembre 2011 Messages : 36 ![]() |
Bonjour,
J'ai un dataCube avec deux groupes et une donnée. en gros j'ai une liste d'action groupé par utilisateur et par date. --------- user1 | user2 date1 -- action | action date2 -- action | action sachant que les utilisateurs sont un groupe dynamique. le datacube est issu de deux dataset, un qui sors les données de la BDD et l'autre qui créé une liste de dates, celle ci est utile pour etre sur que toutes les dates seront représenté dans un tableau ou un graphe. Donc le dataset final aura toutes les dates d'une periode mais une date n'aura pas forcement une action et un utilisateur. résumé : dataset données + dataset dates => datacube Pour revenir au datacube, lorsque l'on groupe par utilisateur (je groupe sur les colonnes) il m'ajoute une colonne de avec le titre vide et toutes ces valeurs a 0. En soi je comprends pourquoi elle est la, vu qu'il groupe dynamiquement par utilisateur, lorsqu'il cherche les utilisateurs il les trouve tous + un champs vide (a cause de la jointure). Donc au pire j'aimerai pouvoir ne pas afficher cette colonne. Merci d'avance a tous ceux qui m'auront compris et qui m'aideront |
|
|
00
|
|
|
#2 |
|
Membre confirmé
![]() Consultant en Business Intelligence Inscription : mai 2009 Messages : 186 ![]() |
Salut,
Si je comprends bien, actuellement le groupe des utilisateurs est extrait à partir de la table des actions après jointure externe, c'est ça? Je vois 2 solutions: Solution 1-Au niveau des crosstabs créés à partir du datacube, ajouter systématiquement un filtre sur le champs user. Il y a justement une fonction "is not null" native dans la construction des filtres. Solution 2-Pour résoudre le problème au niveau du datacube: il faut créer un dataset spécifique qui retourne la liste des utilisateurs, et créer le groupe des utilisateurs à partir de ce dataset, et non plus à partir du dataset principal. Dans l'édition du datacube builder, il faut juste bien penser dans "Link group" à lier ce nouveau dataset avec le dataset principal. Si tu n'as pas de table des utilisateurs dans ta base, tu peux éventuellement utiliser un "select distinct" sur la table des actions, du moment que c'est fait avant que la jointure externe avec les dates soit appliquée cela devrait fonctionner. C'est la solution la plus propre mais elle modifie la structure du datacube, cela peut provoquer des erreurs très difficiles à corriger dans les graphes/tableaux existants déjà basés dessus, bien penser à faire une sauvegarde du rapport et/ou de la librairie avant. A+ |
|
|
10
|
|
|
#3 |
|
Membre Expert
![]() ![]() Inscription : avril 2008 Messages : 1 053 ![]() |
Pour moi une Dimension qui peut avoir une valeur "null" a un défaut de conception. On ne peut pas aggréger sur "null". Par contre on peut "mapper" la valeur null vers "Autres"
Donc la solution 1 de donino est la seule qui prime. Au passage , modifier le SQL de votre dataset serait encore mieux , avec un truc du style WHERE champ IS NOT NULL ou alors meubler avec "Autres" à la place de null.
__________________
BIRT / Actuate Nouveau ! : Actuate v11 LIVE avec cubes en mémoire, dashboard analythique, accès mobile et exports Office intélligents! Télécharger Evaluation ici : http://www.birt-exchange.com/be/downloads/ Nouveau ! : Tutoriel/Formation sur comment installer et utiliser la version d'évaluation Actuate v11 Vous former ici : http://www.birt-exchange.org/org/wik...h_BIRT_iServer |
|
|
01
|
Copyright © 2000-2012 - www.developpez.com