|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : novembre 2010 Messages : 4 ![]() |
Bonjour,
j'ai un probleme sur un univers BO. je viens de recuperer un univers que je ne connais pas et en faisant une requête simple (2 objets provenant de 2 tables liées directement) BO m'indique qu'il y a produit cartesien. detail: table A liée a table B selon jointure: je prend 1 objet de la table A et 1 de la table B et j'obtiens le message produit cartesien avec le sql suivant: Code :
dc je comprend que cela genere 1 autre clause "where" mais a quoi peux etre du ce produit cartesien?? desolé pour la question mais je debute dans BO et j'aimerais comprendre. merci d'avance pour votre reponse |
||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : mai 2004 Messages : 1 812 ![]() |
Bonjour.
Un produit cartésien c'est la jointure de 2 tables sans clé de jointure. Si la table A fait 1000 lignes et la B 100 lignes, un produit cartésien va générer 100 000 lignes. C'est donc généralement dangereux et incorrect (modèle relationnel => des relations entre les tables). Maintenant sur votre exemple je ne vois pas. Que donne la requête SQL exécutée directement sur la base de données ?
__________________
Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes. Mon combat pour les droits des consommateurs face aux abus des grandes marques. |
|
|
00
|
|
|
#3 |
![]() ![]() Thomas CochinConsultant en Business Intelligence Inscription : juin 2009 Messages : 3 273 ![]() |
Bonjour,
Ce que je ne comprends pas dans votre SQL, c'est pourquoi il y a un appel à la table C, celle-ci n'étant utilisée ni en affichage, ni en condition...
__________________
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 ![]() Vous souhaitez contribuer à la rubrique BI ? Contactez-moi ou un autre responsable de l'équipe BI par MP. |
|
00
|
|
|
#4 |
![]() ![]() Consultant en Business Intelligence Inscription : juillet 2008 Messages : 949 ![]() |
Salut Tom,
oulala ça sent la fin de semaine la table C apparait car elle est dans les tables de la définition de l'objet de A ( bouton tables ). Par contre normalement tu as un produit cartésien quand tu n'as pas de chemin défini dans l'univers reliant toutes les tables de la requête. Or là d'après le SQL ce n'est pas le cas ( on a C -- A -- B ). Vérifies dans l'univers s'il n'y a pas de contexte, si la table A est aussi dans les tables de l'objet de A. Et une requête avec en seul objet A.num1, ça donne quoi ? |
|
00
|
|
|
#5 |
![]() ![]() Thomas CochinConsultant en Business Intelligence Inscription : juin 2009 Messages : 3 273 ![]() |
Effectivement... Je n'y pense pas car je ne l'utilise pas en fait. Je trouve ça dérangeant de pouvoir implémenter des choses qui sont totalement transparentes lors de leur utilisation.
__________________
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 ![]() Vous souhaitez contribuer à la rubrique BI ? Contactez-moi ou un autre responsable de l'équipe BI par MP. |
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : novembre 2010 Messages : 4 ![]() |
Bonjour,
dsl de ne pas avoir repondu avant je vais suivre vos pistes et vous tiens au courant. en tout cas merci pour vos reponses... |
|
|
00
|
|
|
#7 | ||
|
Invité de passage
![]() Inscription : novembre 2010 Messages : 4 ![]() |
rebonjour,
ds BO en epurant au Max la requête en modifiant la definition de l'objet j'obtiens un sql vraiment simple: Code :
je crois que je vais essayer detrouver qq'un qui connait l'historique de cet univers car c'est vraiment bizarre. pour info cette requête lancé sur sqldevelopper retourne qques doublons mais rien de vraiment alarmant. |
||
|
|
00
|
|
|
#8 |
![]() ![]() Consultant en Business Intelligence Inscription : juillet 2008 Messages : 949 ![]() |
Bizarre
Tu as une clause Where dans les définitions des objets ? Tu as des contextes ? Les cardinalités sont bonnes ? Tu peux essayer de mettre 2 jointures au lieu d'une seule entre A et B, pour voir |
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : novembre 2010 Messages : 4 ![]() |
Bonjour,
pour info j'ai trouvé le probleme... il y avait 2 jointures identiques de créées ds l'univers... j'ai remarqué ca en regardant la liste de jointure par table... en en supprimant une cela fonctionne... en tout cas merci pour votre aide |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com