|
|||||||
| Microsoft BI Forum d'entraide sur les outils Microsoft BI (Integration Services, Analysis Services, Reporting Services,...) Avant de poster --> FAQ Microsoft BI, Tutoriels Microsoft BI |
|
|
Publicité ' | |||||||||||||||||||||
|
|
|
Outils de la discussion |
|
|
#1 |
![]() ![]() Alexandre ChemlaConsultant en Business Intelligence Inscription : février 2006 Messages : 1 860 ![]() |
Bonjour à tous,
Une petite question d'habitude, bonne pratique... Lorsque vous avez des tables de faits pour lesquelles l’ensemble des FK ne sont pas forcément renseignées, est-ce que : - vous laissez une valeur NULL dans la table de faits et les jointures se font alors avec un LEFT OUTER JOIN, le cube utilisant le unknown member pour les gérer - vous renseignez la table de faits avec des valeurs de FK à -1 en ayant fais attention à créer ce membre -1 dans la table de dim. On peut alors éviter les LEFT et l'utilisation du Unknown member. Quel est le mieux pour vous ? |
|
|
00
|
|
|
#2 | |
![]() ![]() ![]() François JEHLAnalyste R&D BI Inscription : juillet 2009 Messages : 1 352 ![]() |
J'ai répondu "-1" parce que Ralph Kimball est grand.
Citation:
Plus sérieusement j'aime pas l'idée de confier à SSAS le NullProcessing, je préfère gérer ça côté ETL. Mais c'est beaucoup plus religieux que réellement argumenté. C'est un sujet à FlameWar (cf par exemple les commentaires sur ce vieux post de Christian Wade http://consultingblogs.emc.com/chris...ices-2005.aspx) et même chez nous (AIT) on est pas tous d'accord sur le sujet...
__________________
François JEHL R&D BI Engineer | MVP SQL Server http://fjehl.wordpress.com Pour me contacter, par MP ou ici, mais pas pour des questions techniques. /* Avant de poster cherchez dans la FAQ et utilisez la fonction "Rechercher" du forum. Au moment de poster, posez votre question dans le bon sous-forum (Débuter, SSAS, SSRS, SSIS), en utilisant les TAGs prédéfinis ([2K], [2K5], [2K8], [2K8R2]). */ |
|
|
00
|
|
|
#3 |
|
Membre éclairé
![]() |
-1 de ma part
Malgré qu'on trouve le même résultat dans la navigation du cube mais j'ai choisi -1 pour deux simples raisons : I- Au niveau conceptuel me parait plus juste II- par analogie au requête SQL le LEFT OUTER JOIN est moins performant que le INNER JOIN ( personnelement j'ai pas testé les deux cas pour affirmer ...mais je laisse le soin à vous pour me confirmer) Merci |
|
|
00
|
|
|
#4 |
![]() ![]() Alexandre ChemlaConsultant en Business Intelligence Inscription : février 2006 Messages : 1 860 ![]() |
Et dans le cas où votre table de faits contient des faits qui ne se lient pas toutes à l'intégralité des dimensions.
Exemple vous stockez des ventes de divers produits dont certains sont liés à une dimension de marque, d'autres à des services etc. Chaque ligne de faits a donc une combinaison de dimensions auxquelles elle est liée. |
|
|
00
|
|
|
#5 |
![]() ![]() Alexandre ChemlaConsultant en Business Intelligence Inscription : février 2006 Messages : 1 860 ![]() |
Encore une petite précision, pour l'ensemble des attributs, sur lesquels il y a par moment des contraintes fortes, laissez-vous à NULL ou systématiquement un caractère respectant la contrainte ?
|
|
|
00
|
|
|
#6 |
|
Membre éclairé
![]() Consultant en Business Intelligence Inscription : juillet 2010 Messages : 240 ![]() |
Je dis -1 car j'ai pour habitude de remplacer les NULL par une valeur ou un code en fonction de la dimension associée.
|
|
00
|
|
|
#7 |
![]() ![]() ![]() François JEHLAnalyste R&D BI Inscription : juillet 2009 Messages : 1 352 ![]() |
Et d'ailleurs ça appelle une petite question? Amis "UnknownMemberistes" comment gérez vous les relations référencées?
__________________
François JEHL R&D BI Engineer | MVP SQL Server http://fjehl.wordpress.com Pour me contacter, par MP ou ici, mais pas pour des questions techniques. /* Avant de poster cherchez dans la FAQ et utilisez la fonction "Rechercher" du forum. Au moment de poster, posez votre question dans le bon sous-forum (Débuter, SSAS, SSRS, SSIS), en utilisant les TAGs prédéfinis ([2K], [2K5], [2K8], [2K8R2]). */ |
|
00
|
|
|
#8 |
![]() ![]() Alexandre ChemlaConsultant en Business Intelligence Inscription : février 2006 Messages : 1 860 ![]() |
Justement pas très bien...
On a eu le cas où pour une dimension de points de ventes, tout devait être lié à la clef de dimension plutôt que de faire au propre avec des relations d'attributs liés. En même temps, mettre uniquement des libellé 'N/A' ne change pas beaucoup les choses. Imaginons un point de vente A lié à une région NULL mais également, au-dessus à une enseigne E1. Avec cela un point de vente B lié à une région NULL mais pour sa part, lié à une enseigne E2. A part générer des nom de région 'N/A xx' pour chaque enseigne, comment gérer cela plutôt que de tout lier à la clef de dimension ? Question subsidiaire : toutes les colonnes d'attributs de vos table de DIM ont des contraintes non NULL ? |
|
|
00
|
|
|
#9 | |
![]() ![]() Alexandre ChemlaConsultant en Business Intelligence Inscription : février 2006 Messages : 1 860 ![]() |
Citation:
|
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com