|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Chef de projets applicatifs Inscription : octobre 2011 Messages : 12 ![]() |
Bonjour,
J'ai un rapport avec les objets suivants : - numéro de famille - nom du responsable - noms des enfants - montant de la bourse <prix1> J'ai créé une section sur le nom du responsable. J'ai effectué une somme par section sur l'objet <prix1> qui est correcte. Ainsi qu'une somme cumulative par section sur l'objet <prix1> Jusque là tout est OK Au niveau de la mise en forme, j'ai besoin d'avoir une cellule Montant total qui indique la somme des <prix1> de tout le rapport mais c'est là que je coince. La somme globale des prix1 est différente de la somme cumulative des prix1 de chaque section. Merci pour votre aide |
|
|
00
|
|
|
#2 |
![]() ![]() Thomas CochinConsultant en Business Intelligence Inscription : juin 2009 Messages : 3 281 ![]() |
Bonjour,
Quel est le montant qui est juste et lequel est faux ? L'objet prix est-il un indicateur ou une dimension ?
__________________
Pensez à consulter les FAQs BI, les Tutoriels BI et à effectuer des Recherches. Un message vous a aidé ? Votez en cliquant sur ![]() Votre problème est résolu ? Merci de l'indiquer en cliquant sur le bouton ![]() Vous souhaitez contribuer à la rubrique BI ? Contactez-moi ou un autre responsable de l'équipe BI par MP. |
|
00
|
|
|
#3 |
|
Invité régulier
![]() Chef de projets applicatifs Inscription : octobre 2011 Messages : 12 ![]() |
Bonjour,
L'objet prix est une dimension. Le total qui est correct est celui de chaque section. Le total global n'est pas bon et je ne vois pas du tout à quoi il correspond. |
|
|
00
|
|
|
#4 |
|
Invité régulier
![]() Chef de projets applicatifs Inscription : octobre 2011 Messages : 12 ![]() |
Une petite copie d'écran pour illustrer mon problème.
En bleu : la somme cumulative des prix 1 En rouge : la somme totale des prix 1 qui n'est pas correcte |
|
|
10
|
|
|
#5 |
![]() ![]() |
Comment est définit ta formule Rouge ?
Tu as essayé les "Dans Rapport" ? |
|
|
00
|
|
|
#6 |
|
Invité régulier
![]() Chef de projets applicatifs Inscription : octobre 2011 Messages : 12 ![]() |
Pour la formule en rouge, j'ai essayé plusieurs choses :
- Somme (<Prix 1>) = 36462 => faux - Somme (somme(<Prix 1>)) = même résultat Je ne maitrise pas trop les contextes, je viens d'essayer : - Somme (<Prix 1> Dans Rapport) : toujours le même résultat - Somme (somme(<Prix 1>) Dans Rapport) : idem |
|
|
00
|
|
|
#7 |
![]() ![]() |
Somme(Somme()) ne sert à rien...
Dans un autre onglet vide, si tu glisses ton indicateur Prix tu obtiens le bon résultat ? Es-tu sûr que la somme cumulative est correcte ? Y-a-t il des filtres sur ton rapport (genre tu as exclu une DIM lorsqu'elle est vide)? Essaie : - Somme() Dans Rapport (en dehors du Somme) - Somme() PourTout (DimSection) @+ |
|
|
00
|
|
|
#8 |
|
Invité régulier
![]() Chef de projets applicatifs Inscription : octobre 2011 Messages : 12 ![]() |
Merci pour l'info sur le somme (somme...)
Je pense que le problème vient de l'objet <prix1>. Lorsque je le glisse dans un rapport vide, je n'ai pas du tout une somme mais la liste des différents prix qui s'affichent : 42 52 57 84 104 111 La somme cumulative me parait correcte, j'ai fait la somme dans Excel et je retrouve le même résultat.... Je n'ai pas de dimension vide. Le résultat est toujours le même avec Somme() Dans Rapport (en dehors du Somme) et Somme() PourTout (DimSection) |
|
|
00
|
|
|
#9 |
![]() ![]() |
Ton objet Prix n'a probablement pas de fonction de projection...
Il doit : - être en indicateur - avoir un sum() dans le Select - avoir une projection Somme (cf 2e onglet) |
|
|
10
|
|
|
#10 |
|
Membre Expert
![]() Ingénieur développement logiciels Inscription : juin 2007 Messages : 480 ![]() |
|
|
|
10
|
|
|
#11 |
|
Membre habitué
![]() Inscription : décembre 2008 Messages : 117 ![]() |
Bonjour,
Lorsque BO construit une donnée dans un bloc ou dans une cellule, il fait un regroupement des dimensions (il vire les doublons) et une agrégation des indicateurs (la somme le plus souvent). Si j'ai bien lu, dans le cas présent, la somme du prix est faite dans une cellule séparée au niveau du rapport. BO a fait ses regroupements avant d'avoir effectué la somme, si le même prix se retrouve deux fois dans le jeu de données, il ne sera considéré qu'une fois pour la somme. Sauf a modifier le type d'objet (si c'est possible dans ta configuration de travail), j'essaierai bien une modification du contexte de calcul de manière à interdire à BO de faire des regroupements avant la somme. Quelque chose du genre =Somme(<prix> Dans <liste> <de> <toutes> <les> <dimensions> <de> <détail> <du> <rapport>) Je n'ai pas testé, c'est sans garantie. Note que << dans Rapport >> s'affranchit de toutes les dimensions du rapport et n'évite donc pas les regroupements. Autre solution, si l'univers contient un indicateur avec la fonction de projection somme, faire un sql personalisé et remplacer le SQL qui renvoie l'indicateur par celui qui renvoie le prix. Bien évidemment il faut revérifier le SQL après cette manoeuvre et le nom de l'indicateur ne correspondra plus à ce qu'il contient. A cet endroit, je ne pense pas que créer une variable de type indicateur assise sur la dimension prix fonctionnerait. Bon courage. |
|
|
10
|
|
|
#12 |
|
Invité régulier
![]() Chef de projets applicatifs Inscription : octobre 2011 Messages : 12 ![]() |
Un grand merci pour ces explications très claires
C'est exactement à cause des regroupements que la somme est fausse (j'ai le même cas sur une autre requête...). J'ai essayé avec les contextes : =Somme(<Prix 1>) Dans (<Numéro famille> ,<Nom prénom RL1> ,<Nom Prénom personne inscrit>,<prix1>) J'obtiens 42 ! J'ai fait des tests avec plusieurs contextes mais je ne retrouve jamais les 46298. J'ai possibilité de modifier l'univers : j'ai également testé la modification de l'objet en indicateur avec une projection somme (avec et sans SUM) mais les résultats obtenus ne sont pas satisfaisants, la somme calculée ne correspond pas et est doublée par deux pour certaines familles, pas pour d'autres... Bref, un vrai casse tête ! |
|
|
00
|
|
|
#13 |
|
Membre habitué
![]() Inscription : décembre 2008 Messages : 117 ![]() |
Bonjour,
Dans l'exemple que tu me montres, tu as modifié le contexte d'affichage. J'ai testé sur un jeu d'essai en modifiant le contexte de calcul (et en y intégrant toutes les dimensions). J'ai bien obtenu la somme du tableau de détail. Ainsi au lieu de j'ai suggéré et testé :En fait le contexte d'affichage est rarement pertinent pour la fonction somme. Par ailleurs, si tu as fait une modification de l'objet en le transformant en indicateur avec une fonction d'agrégation SUM(), une fonction de projection somme et que cela ne fonctionne toujours pas, il faudrait peut être relire et tester les divers SQL générés dans un éditeur pour trouver la requête correcte l'appliquer dans ton rapport ou, le cas échéant, ajuster l'univers. |
|
|
00
|
|
|
#14 |
|
Invité régulier
![]() Chef de projets applicatifs Inscription : octobre 2011 Messages : 12 ![]() |
C'est super, cela fonctionne en modifiant le contexte de calcul ainsi :
=somme(<D4> Dans(<D1>,<D2>,<D3>)) Un grand merci pour votre aide |
|
|
00
|
|
|
#15 |
|
Membre habitué
![]() Inscription : décembre 2008 Messages : 117 ![]() |
My pleasure !
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com