Decideo - Actualités sur le Big Data, Business Intelligence, Data Science

Abonnez-vous gratuitement à Decideo !


Decideo


 
Forums, dernières contributions

probleme de jointure externe integrale

 ismaili
Lundi 3 Mars 2008

Version imprimable
[Ignorer]
bonjour à tous,
je sollicite votre aide sur un probleme que je n'arrive pas à résoudre qui est celui de 'FULL OUTER JOIN'.
En fait, je veux afficher dans un rapport, la comparaison,suivant l'axe de temps,de deux faits se traouvant dans deux tables chacune dans un schema à part.
table1@schema1 1..N-----1..1 temps@schema2 1..1----1..N table2@schema2.
c'est très urgent, je vous prie de me repondre.
merci beaucoup.
 Stefan
Lundi 3 Mars 2008

Version imprimable
[Ignorer]
Je ne vois pas trop ce qu'une full outer join pourrait bien faire dans ce contexte.Le 'passage' par la dimension temps me semble obligé pour éviter le produit cartésien.

Faire super attention à la granularité de l'information dans les 2 tables de faits et ne proposer que les niveaux cohérents coté dimension temps.

Enfin , si vous avez une autre table de dimension commune, afin de résoudre la boucle je vous conseille des alias/jointures raccourci/contextes.
 ismaili
Lundi 3 Mars 2008

Version imprimable
[Ignorer]
Merci Monsieur Stefan pour votre réponse,
moi aussi je comprends pas qu'est ce qui peut provoquer une full outer join, néanmois ça se produit.
maintenant j'ai récupéré la dimension temps d'un autre schèma, j'ai un résultat mais c'est pas le bon, la requête générée par l'outil récupère toutes les données et les agrége càd que champ1-table1=champ1-table1+champ1-table2 où champ1 est la valeur agrégée que je veux comparer.
auriez vous une de ce que peut être la cause de cela,
merci encore une fois
 Stefan
Mardi 4 Mars 2008

Version imprimable
[Ignorer]
C'est typiquement un produit cartésien , vous n'aggregez pas les données au bon niveau de granularité temps , et probablement les clauses GROUP BY ne sont pas les bonnes.

Autre remarque, si vous avez mis des jointures externes simples des 2 cotés, il faut les enlever. Ca pénalise les performances et c'est pas très logique dans le contexte.

Enfin , il est OBLIGATOIRE de restituer la dimension temps dans vos résultats afin d'avoir des résultats cohérents.

Exemple : tabletemps.mois , table1.fait1, table2.fait2

S'assurer que la granularité est bonne. Par exemple , si vous avez Fait1 stocké en semaine et Fait2 stocké en mois , il faut trouver une clé de répartition de la semaine 'a cheval' sur 2 mois. cette clé doit être implémenté en amont, dans l'alimentation/calculs sur ces tables.


Twitter
Rss
LinkedIn
Facebook
Apple Podcast
App Store
Google Play Store