Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Microsoft BI

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

Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Affichage des résultats du sondage: NULL ou -1 dans les tables de faits
Tout en NULL. L'espace de stockage est optimisé, le cube gère ça très bien et le LEFT c'est cool 2 25,00%
-1 partout, les DIM sont initialisées, contraintes fortes partout 6 75,00%
Obi-Wan Kenobi laisse parler la force dans le contexte. Il doit alors expliquer à tous les padawans 0 0%
Votants: 8. Vous ne pouvez pas participer à ce sondage.

Publicité
'
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Vieux 11/05/2011, 15h18   #1
Modérateur
 
Avatar de Jinroh77
 
Homme Alexandre Chemla
Consultant en Business Intelligence
Inscription : février 2006
Messages : 1 773
Détails du profil
Informations personnelles :
Nom : Homme Alexandre Chemla
Âge : 28
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence

Informations forums :
Inscription : février 2006
Messages : 1 773
Points : 1 837
Points : 1 837
Par défaut NULL ou -1 dans les FK des tables de faits?

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 ?
Jinroh77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2011, 16h12   #2
Modérateur

 
Avatar de FrancoisJehl
 
Homme François JEHL
Consultant BI chez Infinite Square
Inscription : juillet 2009
Messages : 1 087
Détails du profil
Informations personnelles :
Nom : Homme François JEHL
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant BI chez Infinite Square
Secteur : Conseil

Informations forums :
Inscription : juillet 2009
Messages : 1 087
Points : 1 717
Points : 1 717
J'ai répondu "-1" parce que Ralph Kimball est grand.

Citation:
Map all the bad fact rows to the Unknown member for that dimension by supplying a key of –1 (or whatever your Unknown member key is)
The Data Warehouse Toolkit, chap 4, verset 14.

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
Consultant BI chez Infinite Square | 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]).
*/
FrancoisJehl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2011, 17h10   #3
Membre éclairé
 
Avatar de dream_rachid
 
Homme Rachid HMIDI
DBA & Responsable BI
Inscription : mars 2006
Messages : 235
Détails du profil
Informations personnelles :
Nom : Homme Rachid HMIDI
Âge : 33
Localisation : Tunisie

Informations professionnelles :
Activité : DBA & Responsable BI
Secteur : Distribution

Informations forums :
Inscription : mars 2006
Messages : 235
Points : 314
Points : 314
Envoyer un message via MSN à dream_rachid Envoyer un message via Yahoo à dream_rachid Envoyer un message via Skype™ à dream_rachid
-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
dream_rachid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2011, 09h12   #4
Modérateur
 
Avatar de Jinroh77
 
Homme Alexandre Chemla
Consultant en Business Intelligence
Inscription : février 2006
Messages : 1 773
Détails du profil
Informations personnelles :
Nom : Homme Alexandre Chemla
Âge : 28
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence

Informations forums :
Inscription : février 2006
Messages : 1 773
Points : 1 837
Points : 1 837
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.
Jinroh77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2011, 11h03   #5
Modérateur
 
Avatar de Jinroh77
 
Homme Alexandre Chemla
Consultant en Business Intelligence
Inscription : février 2006
Messages : 1 773
Détails du profil
Informations personnelles :
Nom : Homme Alexandre Chemla
Âge : 28
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence

Informations forums :
Inscription : février 2006
Messages : 1 773
Points : 1 837
Points : 1 837
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 ?
Jinroh77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2011, 14h31   #6
Membre éclairé
 
Homme
Consultant en Business Intelligence
Inscription : juillet 2010
Messages : 231
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : juillet 2010
Messages : 231
Points : 345
Points : 345
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.
Nished est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2011, 14h06   #7
Modérateur

 
Avatar de FrancoisJehl
 
Homme François JEHL
Consultant BI chez Infinite Square
Inscription : juillet 2009
Messages : 1 087
Détails du profil
Informations personnelles :
Nom : Homme François JEHL
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant BI chez Infinite Square
Secteur : Conseil

Informations forums :
Inscription : juillet 2009
Messages : 1 087
Points : 1 717
Points : 1 717
Et d'ailleurs ça appelle une petite question? Amis "UnknownMemberistes" comment gérez vous les relations référencées?
__________________
François JEHL
Consultant BI chez Infinite Square | 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]).
*/
FrancoisJehl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 09h28   #8
Modérateur
 
Avatar de Jinroh77
 
Homme Alexandre Chemla
Consultant en Business Intelligence
Inscription : février 2006
Messages : 1 773
Détails du profil
Informations personnelles :
Nom : Homme Alexandre Chemla
Âge : 28
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence

Informations forums :
Inscription : février 2006
Messages : 1 773
Points : 1 837
Points : 1 837
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 ?
Jinroh77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/06/2011, 16h48   #9
Modérateur
 
Avatar de Jinroh77
 
Homme Alexandre Chemla
Consultant en Business Intelligence
Inscription : février 2006
Messages : 1 773
Détails du profil
Informations personnelles :
Nom : Homme Alexandre Chemla
Âge : 28
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence

Informations forums :
Inscription : février 2006
Messages : 1 773
Points : 1 837
Points : 1 837
Citation:
Envoyé par Jinroh77 Voir le message
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.
Au fait, qui peut donner des éléments de réponse là-dessus ??
Jinroh77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h57.


 
 
 
 
Partenaires

Hébergement Web