Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Business Objects > Débuter
Débuter Forum d'entraide pour débuter avec Business Object
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/04/2007, 15h50   #1
Membre actif
 
Inscription : avril 2003
Messages : 281
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : avril 2003
Messages : 281
Points : 160
Points : 160
Par défaut Somme sous condition

Bonjour,

je débute en BO et je pense ne pas avoir compris tous les concepts, alors je pose mon problème qui est surement tout bête (après avoir regardé un peu ailleurs avant).

J'ai dans mon univers une date, un montant et un code.
Je souhaiterais obtenir un tableau du genre :

Année | Total | Montant0 | Montant1
année(date) | somme(montant) | si(code=0) alors somme(montant) | si(code <> 0) alors somme(montant)

En gros je veux 2 colonnes qui font la somme du montant selon la valeur du code. Si je laisse la formule :
Code :
si (<code> = 0) alors somme(montant)
j'obtiens un #CALCUL.
Cela fonctionne si dans mon tableau je laisse la colonne code mais je n'en veux pas car je veux tout sur la même ligne.

Quelqu'un pourrait il m'indiquer une solution ?
Merci.

PS : j'ai à disposition la version 5 et 6 de BO (quand la v6 veut fonctionner)
__________________
S'il n'y a pas de solution, il n'y a pas de problème.
Moi je dis ça, je dis rien.
sunvialley est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/04/2007, 16h47   #2
Membre du Club
 
Inscription : avril 2007
Messages : 159
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 159
Points : 63
Points : 63
Salut,

Ta colonne "code" contient sur chaque ligne soit 0, soit un autre chiffre?

Pour le moment tu as :

Année | Total | Montant0 | Montant1 | Code

et tu voudrais que soit la colonne "Montant0" se remplisse si(code=0) alors somme(montant), soit la colonne "Montant1" si(code<>0) alors somme(montant)?

Que veyx-tu dire par "Cela fonctionne si dans mon tableau je laisse la colonne code mais je n'en veux pas car je veux tout sur la même ligne" ?

Si tu laisses la colonne code, tu as plusieurs lignes qui apparaissent?
byrdo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/04/2007, 17h47   #3
Membre actif
 
Inscription : avril 2003
Messages : 281
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : avril 2003
Messages : 281
Points : 160
Points : 160
Si j'ai

date ; code ; montant
2006 ; 0 ; 100
2006 ; 1 ; 50
2006 ; 0 ; 25
2007 ; 2 ; 33
2007 ; 0 ; 1

je voudrais :
date ; montant total ; montant0 ; montantAutre
2006 ; 175 ; 125 ; 50
2007 ; 34 ; 1 ; 33


Ce que j'ai actuellement c'est :
date; code ; montant total ; montant0 ; montantAutre
2006 ; 0 ; 125 ; 125 ; 0
2006 ; 1 ; 50 ; 0 ; 50
2007 ; 0 ; 1 ; 0 ; 1
2007 ; 2 ; 33 ; 33 ; 0
__________________
S'il n'y a pas de solution, il n'y a pas de problème.
Moi je dis ça, je dis rien.
sunvialley est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 09h17   #4
Membre émérite
 
Avatar de bastoonet
 
Inscription : septembre 2006
Messages : 815
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France

Informations forums :
Inscription : septembre 2006
Messages : 815
Points : 843
Points : 843
essaye de faire =Somme(si (<code> = 0) alors <montant> )

et place tes formules dans des variables !

tu peux aussi utiliser des filtres sur 0...
bastoonet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 10h13   #5
Membre du Club
 
Inscription : avril 2007
Messages : 159
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 159
Points : 63
Points : 63
Tu peux sortir la colonne "code" de ton tableau.

Il existera ainsi un tableau pour chacun des codes différents.

Tu peux ensuite utiliser la Somme à la suite de cela pour chaque tableau, puis les rassembler par la suite.
byrdo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 10h59   #6
Membre actif
 
Inscription : avril 2003
Messages : 281
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : avril 2003
Messages : 281
Points : 160
Points : 160
J'avais pas pensé à changer le sens de la formule, mais ca ne marche pas non plus. Ca me met #ERRI.

J'utilise bien des variables. Le problème est dans une variable j'ai l'impression que l'on ne peut utiliser que des données qui sont dans le tableau du rapport et pas des données uniquement dans le fournisseur.

Sinon, j'ai pas compris Byrdo. Sortie la colonne, ca veut dire la mettre en "maitre" ? Ensuite faire la somme sur le montant ? Et comment on découpe selon les dates pour prendre la somme... ? je sais pas du tout jouer sur le découpage des cellules...
__________________
S'il n'y a pas de solution, il n'y a pas de problème.
Moi je dis ça, je dis rien.
sunvialley est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 11h40   #7
Membre du Club
 
Inscription : avril 2007
Messages : 159
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 159
Points : 63
Points : 63
Je parlais effectivement de le passer en maître.

Sinon, en reprenant la formule de bastoonet , et en te servant d'un autre tableau qui récupère tes données :


Case "Montant0/2006"
=Somme(si (<code> = 0 Et <date=2006> alors <montant> )

Case "MontantAutre/2006"
=Somme(si (<code> <> 0 Et <date=2006> alors <montant> )

Case "Montant0/2007"
=Somme(si (<code> = 0 Et <date=2007> alors <montant> )

Case "MontantAutre/2007"
=Somme(si (<code> <> 0 Et <date=2007> alors <montant> )

Ca marcherait ça? C'est du bricolage, mais ça peut peut-être te convenir.
byrdo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 12h02   #8
Membre actif
 
Inscription : avril 2003
Messages : 281
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : avril 2003
Messages : 281
Points : 160
Points : 160
les formules marchent pas dans un tableau simple (je parle sans section, maitre ou autre truc du genre). Ca donne toujous #ERRI car le code n'est pas dans le même tableau.

Je suis en train de voir en découpant les cellues dans tous les sens, en jouant sur la note de maitre, mais pour le moment c'est pas brillant.
__________________
S'il n'y a pas de solution, il n'y a pas de problème.
Moi je dis ça, je dis rien.
sunvialley est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 19h14   #9
Membre habitué
 
Inscription : mars 2006
Messages : 111
Détails du profil
Informations personnelles :
Âge : 49
Localisation : France

Informations forums :
Inscription : mars 2006
Messages : 111
Points : 116
Points : 116
Salut

Si tu as l'année en maitre, il suffit de rajouter
= Somme (montant) dans (<Année>, <code>) ou PourChaque (<Année>, <code>)
N'ayant pas B.O. sur mon portable, je ne peux plus tester


Pour savoir comment opére B.O. au niveau de l'opération, il suffit de d'aller dans la partie "Transformer en variable" et "afficher dans son contexte".
Tu auras ainsi le contexte exact de ta somme.


Frédéric
frederic_s est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2007, 14h51   #10
Membre actif
 
Inscription : avril 2003
Messages : 281
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : avril 2003
Messages : 281
Points : 160
Points : 160
Dsl de répondre tardivement.
Avec vos indications, j'ai fini par utiliser l'opérateur "où" :

Code :
=Somme(<Montant>)(<Code> = 0)
Code :
=Somme(<Montant>)(<Code> = 1) + Somme(<Montant>)(<Code> = 2) + Somme(<Montant>)(<Code> = 3)
...
Bon, j'aurais bien aimé faire un "... où code <> 0" mais ca ne marche pas bizarrement.

En tout cas merci, pour mon cas, j'ai ce qu'il me faut.
__________________
S'il n'y a pas de solution, il n'y a pas de problème.
Moi je dis ça, je dis rien.
sunvialley est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h32.


 
 
 
 
Partenaires

Hébergement Web