Bonjour,
Là, on arrive plus dans vos règles "métier", donc là ça va être dur de répondre...
Si j'ai bien compris, vos fichiers CSV sont en réalité une photo, à une date donnée, d'un parc informatique ?
La colonne date permet donc d'historiser ces données : ce n'est pas parce que le 16 avril 2015 à 14:42 il y a Avast qui tourne sur mon PC que le 16 avril 2014 il était installé.
La colonne date va donc permettre de faire le lien entre la table de faits (logiciels présents sur chaque PC) et l'axe de dimension temps.
Ceci permettra alors par exemple de comparer le pourcentage de PC protégés dans le temps, de corréler l'évolution du nombre de pannes avec le nombre de machines protégées, de comparer l'efficacité des différents produits de protection en comparant le taux de pannes des PC les utilisant, etc.
Cette donnée est donc très importante !
Quant au problème de la donnée démultipliée par le nombre de jours dans l'année même si le PC n'évolue pas, ce n'est pas un problème pour QlikView, mise à part pour l'import. En effet, QV utilise une base vectorielle, et donc ne stocke pas physiquement les doublons, mais simplement des pointeurs vers la donnée initiale. Ça ne changera donc pour ainsi dire pas la taille du fichier.
Côté SSIS par contre, ça peut valoir le coup de suivre les changements de façon moins doublonnée, en utilisant une table d'historisation. Cependant, cela demande soit des requêtes lourdes pour l'alimenter, soit des triggers à l'insertion des données, soit des traitements dans vos modules d'import... Une perte de temps (en développement, maintenance, mais aussi à l'exécution) qui n'en vaut pas forcément la chandelle !
Commencez par benchmarker votre base telle qu'elle. Si elle ne fait que quelques centaines de Mo, ça ne devrait absolument rien changer au temps de chargement, surtout si vous générez des QVD en fin d'import dans SSIS !
http://www.quickintelligence.co.uk/qlikview-qvd-files/
Partager