|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Consultant en Business Intelligence Inscription : août 2008 Messages : 8 ![]() |
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 ![]() ![]()
|
|
|
00
|
|
|
#2 |
|
Invité de passage
![]() Consultant en Business Intelligence Inscription : août 2008 Messages : 8 ![]() |
|
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() François Consultant MOA Inscription : juillet 2006 Messages : 47 ![]() |
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.
|
|
|
00
|
|
|
#4 |
|
Membre chevronné
![]() Inscription : septembre 2003 Messages : 624 ![]() |
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. |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Consultant en Business Intelligence Inscription : août 2008 Messages : 8 ![]() |
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 |
|
|
00
|
|
|
#6 |
|
Membre chevronné
![]() Inscription : septembre 2003 Messages : 624 ![]() |
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. |
|
|
10
|
Copyright © 2000-2012 - www.developpez.com