Précédent   Forum du club des développeurs et IT Pro > 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
 
Outils de la discussion
Vieux 11/05/2011, 15h18   #1
Jinroh77
Modérateur
 
Avatar de Jinroh77
 
Homme Alexandre Chemla
Consultant en Business Intelligence
Inscription : février 2006
Messages : 1 860
Détails du profil
Informations personnelles :
Nom : Homme Alexandre Chemla
Âge : 29
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence

Informations forums :
Inscription : février 2006
Messages : 1 860
Points : 2 087
Points : 2 087
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
FrancoisJehl
Modérateur

 
Avatar de FrancoisJehl
 
Homme François JEHL
Analyste R&D BI
Inscription : juillet 2009
Messages : 1 352
Détails du profil
Informations personnelles :
Nom : Homme François JEHL
Âge : 29
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Analyste R&D BI
Secteur : Communication - Médias

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

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

Informations forums :
Inscription : mars 2006
Messages : 276
Points : 381
Points : 381
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
Jinroh77
Modérateur
 
Avatar de Jinroh77
 
Homme Alexandre Chemla
Consultant en Business Intelligence
Inscription : février 2006
Messages : 1 860
Détails du profil
Informations personnelles :
Nom : Homme Alexandre Chemla
Âge : 29
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence

Informations forums :
Inscription : février 2006
Messages : 1 860
Points : 2 087
Points : 2 087
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
Jinroh77
Modérateur
 
Avatar de Jinroh77
 
Homme Alexandre Chemla
Consultant en Business Intelligence
Inscription : février 2006
Messages : 1 860
Détails du profil
Informations personnelles :
Nom : Homme Alexandre Chemla
Âge : 29
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence

Informations forums :
Inscription : février 2006
Messages : 1 860
Points : 2 087
Points : 2 087
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
Nished
Membre éclairé
 
Homme
Consultant en Business Intelligence
Inscription : juillet 2010
Messages : 240
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 : 240
Points : 378
Points : 378
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
FrancoisJehl
Modérateur

 
Avatar de FrancoisJehl
 
Homme François JEHL
Analyste R&D BI
Inscription : juillet 2009
Messages : 1 352
Détails du profil
Informations personnelles :
Nom : Homme François JEHL
Âge : 29
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Analyste R&D BI
Secteur : Communication - Médias

Informations forums :
Inscription : juillet 2009
Messages : 1 352
Points : 2 674
Points : 2 674
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]).
*/
FrancoisJehl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 09h28   #8
Jinroh77
Modérateur
 
Avatar de Jinroh77
 
Homme Alexandre Chemla
Consultant en Business Intelligence
Inscription : février 2006
Messages : 1 860
Détails du profil
Informations personnelles :
Nom : Homme Alexandre Chemla
Âge : 29
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence

Informations forums :
Inscription : février 2006
Messages : 1 860
Points : 2 087
Points : 2 087
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
Jinroh77
Modérateur
 
Avatar de Jinroh77
 
Homme Alexandre Chemla
Consultant en Business Intelligence
Inscription : février 2006
Messages : 1 860
Détails du profil
Informations personnelles :
Nom : Homme Alexandre Chemla
Âge : 29
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence

Informations forums :
Inscription : février 2006
Messages : 1 860
Points : 2 087
Points : 2 087
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
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 06h20.


 
 
 
 
Partenaires

Hébergement Web