|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre Expert
![]() |
Bonjour à tous,
Je ne suis pas vraiment un expert de BO, donc ce que je vais dire peut paraître évident et je m'en excuse par avance voilà, j'ai une table TAUX: Et une table PRIX: Dans BO, j'ai un objet PRIX qui correspond au PRIX de la table PRIX (PRIX.PRIX est donc dans le Select de l'objet). J'ai également un objet TAUX_A qui correspond à la VALEUR du TYPE 'A' de la table TAUX (j'ai mis TAUX.TYPE='A' dans le Where de l'objet, et TAUX.VALEUR dans le Select). Idem pour le TAUX_B. Quand je fais un rapport avec uniquement le TAUX_A ou le TAUX_B, pas de problème. Mais si je retourne le TAUX_A et le TAUX_B dans un même rapport, BO construit une requête du genre FROM PRIX, TAUX where TAUX.TYPE='A' and TAUX.TYPE='B' ce qui, évidemment, marche assez mal J'aurais donc besoin de dire à BO que les objets TAUX_A et TAUX_B sont exclusifs, c'est à dire que si je demande les deux, il est obligé de ramener 2 fois la table TAUX : FROM PRIX, TAUX T1, TAUX T2 WHERE T1.TYPE='A' AND T2.TYPE='B'Mais je n'ai pas encore trouvé Une tite piste svp ? Merci d'avance. |
|
|
00
|
|
|
#2 |
|
Membre chevronné
![]() ![]() Développeur décisionnel Inscription : juin 2008 Messages : 510 ![]() |
Salut,
Tu peux peut-être passer par un "CASE WHEN" dans la clause select de tes objets. Cela t'évite de renseigner la clause where et de générer ta requête qui ne renvoie rien. |
|
00
|
|
|
#3 |
|
Membre Expert
![]() |
Mmmh, un case when que je force à 0 quand c'est pas l'indicateur... pourquoi pas, je vais y réfléchir : merci pour la piste (ou avec un decode sinon).
Je suis en train d'examiner les alias là (faire un alias de la table en plus), ça sera peut-être plus clair et ça évite de surcharger avec un case when/decode... Mais je pensais qu'il y aurait une option de ce genre directement dans BO... |
|
|
00
|
|
|
#4 |
|
Membre éclairé
![]() Consultant en Business Intelligence Inscription : mai 2006 Messages : 275 ![]() |
Il est aussi possible de faire en sorte d'utiliser 2 fois la table TAUX dans l'univers
Tu insères ta table en ajoutant ton filtre sur la jointure (Entre TAUX et PRIX) et ensuite tu ajoutes un Alias de ta table en mettant l'autre filtre sur ta seconde jointure (entre TAUX_2 et PRIX). Tu crées ensuite 2 objets dans ton univers basés sur des tables différentes. Cela a pour intérêt d'éviter de mettre la condition dans le WHERE de l'objet BO, ce qui est en général peu recommandé |
|
|
10
|
|
|
#5 |
|
Membre Expert
![]() |
Oui, merci : c'est ce que j'ai fini par faire... j'ai créé des alias de la table en question. Je ne trouve pas ça génial, mais ça me semble mieux que des case when ou autre
Merci encore... vu qu'il n'y a pas l'air d'avoir d'options directement dans BO, je considère le sujet résolu. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com