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 :

Somme cumulée sur plusieurs groupes [VxiR2]


Sujet :

Deski

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 270
    Points : 103
    Points
    103
    Par défaut Somme cumulée sur plusieurs groupes
    J'ai un univers sur une table de base de données Facture.
    Sur mon univers j'ai un indicateur montant qui est definit comme suit :Sum(montant_facture).
    Sur un etat j'affiche montant et mois (des factures). J'obtiens la somme des montants groupée par mois. Ok.

    Mais si je veux, pour chaque mois, calculer la somme des montants du mois en cours plus celle des deux mois précédent le mois donné. Je fais comment ?
    Dans deski est ce possible ? sinon je peux aussi faire une modification dans l'univers, mais laquelle?
    Merci,
    Tata
    PS: le libellé de mon sujet ne correspond peut etre pas au probleme, j'ai du mal a expliquer ma problématique en une phrase, si un administrateur est plus inspiré il peut le changer.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 364
    Points : 551
    Points
    551
    Par défaut
    Bonjour,

    Tu peux peut-être essayer la formule :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =<Montant Facture>+Précédent(<Montant Facture>)+Précédent(Précédent(<Montant Facture>))
    Si tu n'as qu'une ligne par mois cela devrait marcher, sinon on devra probablement reprendre la formule en utilisant la syntaxe étendue.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 270
    Points : 103
    Points
    103
    Par défaut
    Merci beaucoup.
    Je ne savais pas qu'il existait une telle fonction "précédent" dans Deski. Je vais tester ca.

    Et sinon, crois tu que ce soit possible de le faire directement dans Designer sur l'objet indicateur ? J'ai cherché la fonction Précédent dans Designer, je ne l'a trouve pas. Peut etre avec SUM() OVER (PARTITION BY () ORDER BY ()). quelqu'un a deja utilisé cette fonction ?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 364
    Points : 551
    Points
    551
    Par défaut
    Au risque de faire hurler les puristes, Designer n'est qu'un générateur de SQL. Si tu peux créer la fonctionnalité avec des fonctions SQL, tu dois pouvoir l'implémenter dans ton univers.
    Sauf que là je ne pourrai pas t'aider, je ne suis pas suffisamment calé en SQL et je n'ai pas de réponse dans mon chapeau.

    Bonne journée ...

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 270
    Points : 103
    Points
    103
    Par défaut
    dis moi, c'est quoi la syntaxe étendue ?

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 270
    Points : 103
    Points
    103
    Par défaut
    En fait il y a un petit probleme:
    Si tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =<Montant Facture>+Précédent(<Montant Facture>)+Précédent(Précédent(<Montant Facture>))
    Il te ramene le montant + deux fois le montant du mois précédent. Alors que je voudrais qu'il ramene le montant + le montant du mois précédent (m-1) + le montant du mois encore avant (m-2).

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 270
    Points : 103
    Points
    103
    Par défaut
    Pour faire plus simple et répondre à mon besoin, je pourrais plus simplement faire la somme cumulé des montants depuis le début. mais en utilisant quelle fonction ?

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 364
    Points : 551
    Points
    551
    Par défaut
    Bizarre, bizarre,

    Je viens de tester la formule sur la base de test Océan Voyages et ça marche. Ou alors, je n'ai pas compris ton besoin.

    Formule

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =<Chiffre d'affaires>+Précédent(<Chiffre d'affaires>)+Précédent(Précédent(<Chiffre d'affaires>))
    Résultat

    ************************************************
    Année Mois Chiffre d'affaires Récap
    FY1998 janv 87 332,00 87 332,00
    FY1998 févr 64 900,00 152 232,00
    FY1998 mars 104 628,00 256 860,00
    FY1998 avr 100 492,00 270 020,00
    FY1998 mai 65 190,00 270 310,00
    FY1998 juin 106 808,00 272 490,00
    FY1998 juil 107 857,00 279 855,00
    FY1998 août 72 420,00 287 085,00
    FY1998 sept 108 716,00 288 993,00
    FY1998 oct 108 419,00 289 555,00
    FY1998 nov 50 090,00 267 225,00
    FY1998 déc 86 702,00 245 211,00
    ************************************************

    La fonction pour faire des cumuls est SommeCumulative(<Valeur>;<Dimension de réinitialisation>) mais je ne vois pas comment l'utiliser pour faire une somme de CA glissant sur 3 mois.

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 364
    Points : 551
    Points
    551
    Par défaut
    Concernant la syntaxe étendue, il s'agit des opérateurs qui permettent aux fonctions d'agrégation de s'affranchir du contexte dans lequel elles se trouvent.

    Le plus simple pour mettre en évidence le phénomène est, sur un tableau simple, de rajouter un calcul de somme en pourcentage à la droite d'un indicateur.

    Si tu fais ça sur <Chiffre d'affaires> de mon post précédent, BO t'ajoute une colonne à droite du tableau avec la formule :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =<Chiffre d'affaires>/Somme(<Chiffre d'affaires>) PourTout (<Année> ,<Mois>)
    PourTout est un opérateur de syntaxe étendue qui permet à la Somme de s'affranchir des des dimensions <Année> et <Mois> présentes sur la ligne et donc, dans l'exemple, de faire l'agrégation au dénominateur de la formule sur toutes les valeurs du rapport.

    C'est très pratique car cela permet dans l'exemple de calculer pour chaque ligne le pourcentage du CA de la ligne par rapport au CA global du bloc.

    Tous les indicateurs d'un rapport ont un contexte évalué par défaut par BO. Tu peux le mettre en évidence en sélectionnant un indicateur puis en positionnant ta souris sur la barre de formule et en laissant le temps à l'interface d'afficher l'infobulle. Dans celle-ci tu verras le contexte utilisé pour évaluer l'indicateur.

    Il est bien évidemment possible d'imposer à BO des contextes particuliers (de calcul et de sortie) pour faire des calculs avancés.

    Voila pour le principe. Cette fonctionnalité est très puissante mais il m'apparaît difficile d'en expliquer toutes les fonctionnalités dans un post.

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 270
    Points : 103
    Points
    103
    Par défaut
    Effectivement, je n'avais pas bien imbriqué les Précédent.
    Je regarde ce que je peux tirer de Pour Tout , je reviens ensuite poser des questions si j'en ai.
    Merci encore de ton aide.

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 364
    Points : 551
    Points
    551
    Par défaut
    Tant que tu en sera à PourTout

    Tu peux aussi regarder Dans qui sépécifie en dur les dimensions du contexte,

    PourChaque qui rajoute une dimension au contexte

    et Où qui n'est pas vraiment un opérateur de contexte mais qui permet de le figer.

    Pour plus d'infos sur les contextes, tu peux te reporter à la doc BO.

    <businessobjects_access_analysis.pdf>

    Avec un peu de chance tu l'as sur ton serveur. Sinon elle est en ligne sur le site de SAP. Je ne le connais pas de mémoire mais l'URL a été communiquée dans des posts récents.

    Bonne lecture

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 270
    Points : 103
    Points
    103
    Par défaut
    super.
    ca va me faire de la lecture pour cette apres midi.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] somme.si sur plusieurs feuilles dans un classeur
    Par biquet52 dans le forum Excel
    Réponses: 3
    Dernier message: 21/10/2011, 15h14
  2. Somme.si sur plusieurs colonnes
    Par baleiney dans le forum Excel
    Réponses: 6
    Dernier message: 03/04/2009, 12h44
  3. Somme cumulative sur BO
    Par delmas dans le forum Débuter
    Réponses: 7
    Dernier message: 26/11/2008, 17h00
  4. Somme cumulative sur 12 mois glissant
    Par Ptij16 dans le forum Deski
    Réponses: 6
    Dernier message: 13/07/2007, 11h24
  5. [Excel 2003] Somme.si sur plusieurs feuilles
    Par leo2v2o dans le forum Excel
    Réponses: 6
    Dernier message: 24/01/2007, 16h35

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