|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : novembre 2007 Messages : 35 ![]() |
Bonjour
J'ai 2 requêtes distinctes : Req1Fr : NomFournisseur, CA, Pays avec la clause where Pays = France Req2HorsFr : NomFournisseur, CA, Pays avec la clause where Pays <> France Nota (pour être explicite) : le nom du fournisseur et son pays viennent de la classe "Fournisseur", le CA de la classe "Commandes" Si je crée un rapport1 avec uniquement NomFournisseur1 et que je demande le nombre de fournisseurs distincts (nombre(<NomFournisseur(Req1Fr)>)), j'obtiens une valeur correcte (6742). Idem si je crée un rapport 2 basé sur la liste de fournisseurs de la Req2HorsFr, j'obtiens 993 fournisseurs Je voudrais pouvoir faire un rapport 3 récapitulatif avec uniquement le nombre de fournisseurs en France et hors France. Or sur mon rapport 3, si je me contente de créer une cellule avec =Nombre(<NomFournisseur(Req1Fr)>) et une autre avec =Nombre(<NomFournisseur(Req2HorsFr)>), j'obtiens deux fois la même valeur (7722). J'en déduis qu'il faut ajouter un opérateur de contexte, mais je n'arrive pas à trouver lequel. Si quelqu'un a une idée... |
|
|
00
|
|
|
#2 |
![]() ![]() Bruno ROMAN-RUIZ Inscription : décembre 2006 Messages : 2 181 ![]() |
Bonsoir Thomdul
Je ne compends pas pourquoi tu fais deux requêtes différentes ! Une requête suffit pour alimenter le cube de donnée NomFournisseur, CA, Pays Créer une Variable : Menu Données /Variables Ajouter Nommer la variable Zone Formule : Code :
= Si (<Pays>="France") Alors <Pays> Sinon "Autres" Code :
=Nombre(<NomFournisseur>) Où (<Zone>="France") Code :
=Nombre(<NomFournisseur>) Où (<Zone>="Autres")
__________________
Précisez la VERSION ! Règles du forum Business Objects et FAQ BO"A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!" |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : novembre 2007 Messages : 35 ![]() |
Pour des raisons de simplification de mon problème. J'ai essayé d'exprimer un cas simple qui pose un problème de contexte avec l'opérateur nombre (avec somme ça marche tout seul). Mon cas réel est plus compliqué (il me faut les fournisseurs auxquels ont commandé d'un côté -> 1 univers) et les fournisseurs que l'on a payé de l'autre (1 autre univers).
|
|
|
00
|
|
|
#4 | ||
![]() ![]() Bruno ROMAN-RUIZ Inscription : décembre 2006 Messages : 2 181 ![]() |
Résumons
Rapport 1 = 6742 Rapport 2 = 993 Total attendu 7735 Total obtenu 7722 Ecart 13 Je pense que ce sont 13 fournisseurs communs aux deux requêtes. Je me doute bien qu'on ne peut pas être à la fois en France et Pas en France mais il faudrait que tu vérifies si tu as des fournisseurs communs si tu as des pays = null En mettant les deux requêtes dans le même rapport 3 Tu fais l'équivalent (et sans en être prévenu par BO) : d'un SELECT DISTINCT FOURNISSEURS parmi les 7735 C'est la même chose qu'un Code :
Code :
= Nombre(<Fournisseur> Où(<Pays> = "France")
__________________
Précisez la VERSION ! Règles du forum Business Objects et FAQ BO"A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!" |
||
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : novembre 2007 Messages : 35 ![]() |
J'ai un bout de la solution mais pas tout
= Nombre(<Fournisseur> Où(<Pays> = "France") fonctionne très bien en effet mais dans l'autre sens, c'est à dire Où(<Pays> <> "France") ? Il semble que le "où" n'accepte pas le <> Dans la même ligne d'idée, j'aimerais faire un "où dans liste" voire un "où pas dans liste", c'est possible ? Les exemples donnés dans l'aide en ligne BO sont très succints. Si quelqu'un a une doc un peu plus "utile", j'apprécierais. |
|
|
00
|
|
|
#6 |
|
Membre émérite
![]() Inscription : décembre 2005 Messages : 901 ![]() |
Tous ceux qui sont dans tes données - tous ceux qui sont en France = tous ceux qui ne sont pas en France
__________________
--= Ayana =-- Modératrice B.I. Règles du forum BO Team BAB - Spécialistes BO Rubrique BI de developpez.com |
|
|
00
|
|
|
#7 |
![]() ![]() Bruno ROMAN-RUIZ Inscription : décembre 2006 Messages : 2 181 ![]() |
Salut Thomdul
Pourrais tu relire la 1ère réponse que je t'ai faite ... je te donnais la solution en créant une variable ramenant deux résultats possibles : France et Autres. Merci
__________________
Précisez la VERSION ! Règles du forum Business Objects et FAQ BO"A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!" |
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : novembre 2007 Messages : 35 ![]() |
Re-bonjour
Je reviens sur ce problème après une petite absence... La réponse de Bruno2R fonctionnel très bien avec l'opérateur Somme (le contexte est bien pris en compte et j'ai j'ai bons totaux) mais avec Nombre, même en utilisant l'astuce de passer par une variable, ça ne fonctionne que si j'insère ma condition dans un tableau mais pas dans une cellule Je m'explique (enfin j'essaie) si je fais = Nombre(<Fournisseur> Où(<Pays> = "France") dans une cellule, j'obtiens n'importe quoi comme valeur si je fais la même chose mais en insérant d'abord un tableau simple avec tous les fournisseurs, puis en remplaçant le contenu par cette même formule, j'obtiens le vrai nombre de fournisseurs. J'en déduis que lorsque j'insère un tableau, BO me génère le contexte qui va bien et que je n'arrive pas à appliquer à ma cellule Bon, dans le fond, j'admets que ça n'est pas gênant d'avoir le résultat dans un tableau mono-cellule mais ça ne me parait pas très propre malgré tout et puis il reste un mystère que je n'arrive pas à résoudre... |
|
|
00
|
|
|
#9 | ||
![]() ![]() Bruno ROMAN-RUIZ Inscription : décembre 2006 Messages : 2 181 ![]() |
Salut
As tu essayé dans une cellule les syntaxes suivantes Code :
__________________
Précisez la VERSION ! Règles du forum Business Objects et FAQ BO"A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!" |
||
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() Inscription : novembre 2007 Messages : 35 ![]() |
hélas oui, tout, même dans Document...
Il y a moyen de visualiser le contexte exact d'un tableau ? |
|
|
00
|
|
|
#11 |
![]() ![]() Bruno ROMAN-RUIZ Inscription : décembre 2006 Messages : 2 181 ![]() |
As tu posé un filtre sur ton tableau ?
Si c'est le cas, y a t il plusieurs tableaux sur le même rapport ? Si oui ont ils des filtres aussi ? Si il n'y a pas d'autres tableaux ou si il y en a mais qu'ils ont le même filtre alors Clic droit sur le fond blanc du rapport (parmet de s'assurer que rien n'est sélectionné) Formater les filtres Ouvrir le dossier (+) représentant le tableau où est le fitre Prendre la variable filtrée, la déplacer dans Global Regarder ce qui se passe sur le résultat de cette fameuse formule.
__________________
Précisez la VERSION ! Règles du forum Business Objects et FAQ BO"A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!" |
|
|
00
|
|
|
#12 |
|
Invité de passage
![]() Inscription : novembre 2007 Messages : 35 ![]() |
Bonjour
J'ai bien regardé : pas de filtre, ni sur le rapport, ni sur aucun des 4 tableaux présents dans le rapport |
|
|
00
|
|
|
#13 | |
![]() ![]() Bruno ROMAN-RUIZ Inscription : décembre 2006 Messages : 2 181 ![]() |
Citation:
Tu fais ton tableau pour lequel le contexte va bien Tu mets au point ta formule Nombre de ... Méthode 1 : tu approche le pointeur de la souris vers la barre de formule une infobulle apparait (et ne reste pas logtemps) qui te permet de voir le contexte déterminé par BO Méthode 2 : Tu Définis une variable avec cette formule en choisissant Evaluer la formule dans son contexte tu vas dans ta cellule tu y mets ta nouvelle variable. Et tu me dis ce que ça donne ???
__________________
Précisez la VERSION ! Règles du forum Business Objects et FAQ BO"A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!" |
|
|
|
00
|
|
|
#14 |
|
Invité de passage
![]() Inscription : novembre 2007 Messages : 35 ![]() |
J'avais essayé le coup de la variable. Ça me met le contexte "Dans Rapport".
Idem pour l'info-bulle. Donc j'ai testé en créant une cellule avec ma formule Nombre(fournisseur) dans rapport et j'ai toujours une valeur farfelue. Ce qui est fou, c'est que si j'insère un tableau en mettant uniquement 1 colonne avec les noms des fournisseurs et que je demande le nombre, j'ai le bon résultat (je l'ai validé en faisant un export sous xls et un comptage brut du nb de lignes !). Si je prends la formule Nombre(fournisseur) qui a été générée automatiquement par BO et que je la copie/colle dans une nouvelle cellule, j'ai une valeur farfelue (même pas le nb de fournisseurs total). Si je supprime de mon tableau et le titre et la cellule fournisseur, il ne me reste plus alors qu'un tableau mono-cellule avec la formule Nombre(fournisseur), là j'ai le bon résultat. Si je fais un select count distinct nom fournisseur, j'ai le bon résultat également (ouf !). |
|
|
00
|
|
|
#15 | |
![]() ![]() Bruno ROMAN-RUIZ Inscription : décembre 2006 Messages : 2 181 ![]() |
Citation:
__________________
Précisez la VERSION ! Règles du forum Business Objects et FAQ BO"A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!" |
|
|
|
00
|
|
|
#16 |
|
Invité de passage
![]() Inscription : novembre 2007 Messages : 35 ![]() |
Oui, où que je le mette dans le rapport, c'est ok
|
|
|
00
|
|
|
#17 |
![]() ![]() Bruno ROMAN-RUIZ Inscription : décembre 2006 Messages : 2 181 ![]() |
Alors c'est fini ?
J'arrive pas à y croire ! me le redis et tu mets
__________________
Précisez la VERSION ! Règles du forum Business Objects et FAQ BO"A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!" |
|
|
00
|
|
|
#18 |
|
Invité de passage
![]() Inscription : novembre 2007 Messages : 35 ![]() |
Ben oui mais non, en fait. Certes le résultat final est bon mais c'est toujours mon tableau mono-cellule
Ça me chiffonne d'être obligée de passer par là, je préfèrerais une cellule simple avec le bon contexte. Tu vas dire que je suis puriste... Reste qu'il y a un truc que je ne comprends toujours pas ! |
|
|
00
|
|
|
#19 |
![]() ![]() Bruno ROMAN-RUIZ Inscription : décembre 2006 Messages : 2 181 ![]() |
Ben moi pas plus !
Surtout sans l'avoir sous les yeux. Dernière idée : Nouveau rapport (pas document) Gestionnaire de rapport Tu sélectionne tes données avec la Ctrl enfoncée tu fais glisser sur la page tu regardes si les syptomes persistent
__________________
Précisez la VERSION ! Règles du forum Business Objects et FAQ BO"A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!" |
|
|
00
|
|
|
#20 |
|
Invité de passage
![]() Inscription : novembre 2007 Messages : 35 ![]() |
ça fait quoi exactement la touche ctrl ?
si je glisse mon fournisseur sur un nouveau rapport -> ça me crée le tableau avec la liste de tous les fournisseurs, ça c'est OK si je crée une cellule avec le nb de fournisseurs, c'est toujours OK Par contre, si j'insère un autre tableau avec mon autre liste de fournisseurs, là ça repart en vrille (j'ai 2 reqûetes qui me ramènent des fournisseurs : ceux qui ont commandés et ceux à qui on a facturé) et j'aimerais avoir tout sur le même rapport (c'est sûr que si je comptabilise dans 2 rapports différents, les résultats sont bons) Je comprends que sans les rapports sous les yeux, ça n'est pas évident, merci d'essayer en tout cas |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com