IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Deski Discussion :

Pbm somme pondérées et tableaux croisés


Sujet :

Deski

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 67
    Points : 41
    Points
    41
    Par défaut Pbm somme pondérées et tableaux croisés
    Bonjour,

    je rencontre un problème pour un calcul de moyenne pondéré dans un tableau croisé. Une variable faisant ce calcul fonctionne en tableau simple mais pas en tableau croisé.

    exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
                                          maturité   montant     A pond  A pond KO  
    janvier     portefeuille 1    titre 1      2       29000        2         2
                                  titre 2      3       15000        3         3
                                                       44000        2,34      5
    A pond = Somme( <maturité> x <montant >) / Somme ( <montant > )

    A pond KO = Somme( <maturité> ) x Somme ( <montant >) / Somme ( <montant > )

    La bonne valeur est 2,34 fournie par la variable A pond.

    Quand je construit un tableau croisé ensuite a partir de ce tableau en demandant le portefeuille en ligne et le mois en colonne C'est la valeur 5 qui apparait !!! Tout se passe comme s'il dénaturait ma variable <A pond> pour la transformer en <A pond KO> qui ne fonctionne déjà pas en tableau simple elle.

    Par contre quand je crée un item directement dans l'univers qui fait le produit <maturité> x <montant > (appelons la PROD matu mnt) et que je transforme la formule de A pond comme ceci :

    A pond = Somme( <PROD matu mnt>) / Somme ( <montant > )

    Elle fonctionne dans les 2 cas, tableau croisé ou tableau simple !?!

    Que se passe-t-il donc ???

    Merci de votre aide, je souhaite éviter d'avoir à déclarer ces produits dans l'univers !

  2. #2
    Membre régulier
    Inscrit en
    Avril 2009
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 106
    Points : 100
    Points
    100
    Par défaut
    J'ai pas bien compris mais il me semble normal que A pond KO soit mauvais.
    (2*29000+ 3*15000)/5 != (29000 + 15000)*5/5?
    C quoi la question exactement?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 67
    Points : 41
    Points
    41
    Par défaut
    Le problème est très simple "A pond" fonctionne en tableau normal (liste) mais pas en tableau croisé.

    Dans le tableau croisé les valeurs erronées qui s'affichent sont celle de "A pond KO" (donc oui je sais qu'elle marche pas ;-).

    Le paragraphe sur la modif dans l'univers c'est mon astuce actuelle pour éviter le problème.

    @+

  4. #4
    Rédacteur
    Avatar de TomDuBouchon
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2009
    Messages
    3 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 343
    Points : 5 848
    Points
    5 848
    Par défaut
    Bonjour,

    Au même titre que ce tu as fait pour ton tableau droit, pourrais-tu nous donner l'aspect que tu souhaiterais obtenir un faisant ton tableau croisé ?
    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

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 67
    Points : 41
    Points
    41
    Par défaut
    ok Tom, voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
                       janvier   février   ...        
    portefeuille 1     2,34      ...
    portefeuille 2     ...
    ...
    au lieu de 2,34 j'ai 5 ! c'est faux :-/

    j'ai essayé aussi avec la fonction "Dans" en ecrivant des trucs du genre somme (...) Dans (<mois>, <portefeuille>) ... ça change rien ...

    merci

  6. #6
    Rédacteur
    Avatar de TomDuBouchon
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2009
    Messages
    3 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 343
    Points : 5 848
    Points
    5 848
    Par défaut
    A priori, je dirais qu'il te fait une somme là où il ne devrait pas :
    A pond = Somme( <maturité> x <montant >) / Somme ( <montant > )
    Ex dans le tableau croisé :
    Somme((2+3)*44000)/44000 = 5

    Effectivement, un opérateur contextuel semblerait être la solution... Essaies déjà celui-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    = Somme( (<maturité> x <montant > PourChaque (<titre>))) / Somme ( <montant > )
    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

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 67
    Points : 41
    Points
    41
    Par défaut
    toujours pas ...

  8. #8
    Rédacteur
    Avatar de TomDuBouchon
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2009
    Messages
    3 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 343
    Points : 5 848
    Points
    5 848
    Par défaut
    J'imagine que si tu remplaces ta formule par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =Somme( <maturité> x <montant >)
    Tu obtiens 220000 alors que tu devrais obtenir 103000...
    Essaies donc d'appliquer différents opérateurs contextuels à cette formule jusqu'à ce que tu obtiennes 103000.

    Sinon, ce que tu peux faire, rajoutes la dimensions <titre> à ton tableau croisé, à côté de <portefeuille>. Ensuite, crées un rupture sur <portefeuille> et calcules un somme sur ton ratio pour voir ce que ça te donne. Si le résultat est correcte, survoles la formule avec ta souris et BO devrait t'afficher le contexte de la formule actuelle.
    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

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 67
    Points : 41
    Points
    41
    Par défaut
    > Tu obtiens 220000 alors que tu devrais obtenir 103000...
    oui

    > Sinon, ce que tu peux faire, rajoutes la dimensions <titre> ...
    le résultat n'est toujours pas bon

    > Essaies donc d'appliquer différents opérateurs contextuels à cette formule jusqu'à ce que tu obtiennes 103000.
    en cours ...

    merci

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 67
    Points : 41
    Points
    41
    Par défaut
    gotcha !

    = Somme( (<Maturité> * <Montant>) PourChaque( <Code titre> )) / Somme ( <Montant> )

    fonctionne !

    il faut bien mettre le produit entre parenthèses devant le PourChaque
    tu n'etais pas loin mais tu es grand quand même

    merci 1000x

Discussions similaires

  1. Réponses: 1
    Dernier message: 04/10/2009, 11h40
  2. [VxiR2] Somme Cumulative Dans Tableaux Croisés
    Par jp_____ dans le forum Deski
    Réponses: 1
    Dernier message: 01/10/2009, 17h45
  3. [VBA-E]Tableaux croisés dynamiques
    Par Elstak dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 23/06/2006, 15h33
  4. Faire des tableaux croisés dynamique
    Par richard038 dans le forum Bases de données
    Réponses: 6
    Dernier message: 12/04/2006, 21h51
  5. Tableaux croisés dynamiques et graphiques
    Par Marmouz dans le forum Access
    Réponses: 1
    Dernier message: 24/11/2005, 15h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo