Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Conception/Modélisation Décisionnelle
Conception/Modélisation Décisionnelle Forum d'entraide sur la conception de datawarehouse, datamarts et la modélisation décisionnelle : Tables de faits et de dimension, Modèles en étoile ou en flocons, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/01/2012, 17h41   #1
Invité de passage
 
Homme
Consultant en Business Intelligence
Inscription : août 2008
Messages : 8
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Hauts de Seine (Île de France)

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

Informations forums :
Inscription : août 2008
Messages : 8
Points : 3
Points : 3
Par défaut Conception data-warehouse : Mesure "âge" dans la table des faits

Bonjour,


Sachant que j'ai une table de dimension client contenant l'info date de naissance.
Est-ce que c'est possible de mêttre un âge (l'âge du client calculé) comme indicateur dans ma table de fait?


Merci d'avance pour vos réponses.

Cordialement,
hackeddb


hackeddb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2012, 17h46   #2
Invité de passage
 
Homme
Consultant en Business Intelligence
Inscription : août 2008
Messages : 8
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Hauts de Seine (Île de France)

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

Informations forums :
Inscription : août 2008
Messages : 8
Points : 3
Points : 3
Citation:
Envoyé par hackeddb Voir le message
Bonjour,


Sachant que j'ai une table de dimension client contenant l'info date de naissance.
Est-ce que c'est possible de mêttre un âge (l'âge du client calculé) comme indicateur dans ma table de fait?


Merci d'avance pour vos réponses.

Cordialement,
hackeddb


hackeddb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2012, 12h01   #3
Membre du Club
 
Homme François
Consultant MOA
Inscription : juillet 2006
Messages : 47
Détails du profil
Informations personnelles :
Nom : Homme François
Localisation : France

Informations professionnelles :
Activité : Consultant MOA
Secteur : Finance

Informations forums :
Inscription : juillet 2006
Messages : 47
Points : 66
Points : 66
Stocker un age n'a pas de sens ; l'information est volatile et ne sera pas vraie dans quelques mois (12 au +). On stocke des dates (naissance, événement). Et c'est le programme qui calcule à la volée, avec une fonction datediff par exemple.
Feyrehr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2012, 12h19   #4
Membre chevronné
 
Avatar de Jester
 
Inscription : septembre 2003
Messages : 624
Détails du profil
Informations forums :
Inscription : septembre 2003
Messages : 624
Points : 633
Points : 633
N'est-ce pas la base de la BI de donner une information raffinée?

Soit on stocke l'age directement dans la table de fait soit on fait une vue sur la table de fait et la dimension client qui gère le calcul à la volée. Avec les fronts end usuel où on génèr eles cube graphiquement en liant dimensions et fait la seconde solution n'est pas recommandée, ce ne serait pas propre.
Jester est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2012, 19h44   #5
Invité de passage
 
Homme
Consultant en Business Intelligence
Inscription : août 2008
Messages : 8
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Hauts de Seine (Île de France)

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

Informations forums :
Inscription : août 2008
Messages : 8
Points : 3
Points : 3
Par défaut l'usage des vues est-ce qu'il résout mon problème?

Tout d'abord merci pour vos réponses

La table de fait contiendra environ 300 million de lignes.
L'idée ici est d'éviter le calcul de l'age à la volée car c'est très couteux car il s'agit d'une grosse table...

du coup là le fait d'utiliser une vue ça permet de résoudre le probème de recalcul de l'age à chauque fois (même en utilisant des DN)?

Je ne sais pas trop comment SQL Server il gère celà mais j'imagine que les vues permettent de précalculé l'age et de ne pas refaire le calcule à chaque requête.

J'éspère que j'ai pas dis des bétises

Cordialement,
Hackeddb
hackeddb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2012, 23h09   #6
Membre chevronné
 
Avatar de Jester
 
Inscription : septembre 2003
Messages : 624
Détails du profil
Informations forums :
Inscription : septembre 2003
Messages : 624
Points : 633
Points : 633
Si la requête est I/O bound (limité par la vitesse du disque dur) c'est plus rapide de recalculer l'âge à chaque fois que de le lire sur le disque.

SQL serveur ne cachera pas la vue par défaut, je ne suis plus sur qu'il y ait les vues matérialisée, mais ce ne serait pas une bonne idée de toute façon (restocker votre "grosse" table). Le mieux est de mettre l'âge dans la table directement.

Dans tous les cas c'est pas ça qui va grandement impacter vos performances.
Jester est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



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


 
 
 
 
Partenaires

Hébergement Web