Je travaille dans une situation où nous passons d'un tas de tables de faits transactionnelles à une image plus compliquée avec des agrégats, des instantanés, etc. Dans le passé, il y avait quelques cas où datatables devaient être agrégées par mois, mais les développeurs précédents venaient de placer la key du premier jour du mois auquel ils appartenaient dans une colonne de la table des faits et la pointaient vers la dimension de date habituelle. Cela semble fonctionner, nous avons des hiérarchies jour / mois / année dans les cubes pour chaque dimension de date, et les users se débrouillent bien quand ils ont besoin de regarder les choses par mois.
Quand je lis – surtout le travail de Kimball, mais aussi d'autres guides – on suggère que nous devrions utiliser une «dimension rétrécie» dans ces cas. Le groupe Kimball le mentionne même spécifiquement en ce qui concerne la dimension du mois . Mais je ne trouve vraiment pas beaucoup d'informations sur leur mise en œuvre au-delà de cet article, et de brèves notes qui semblent en reformuler certaines parties.
Une de mes préoccupations particulières est que pour l'instant, les personnes utilisant nos cubes ont l'habitude d'avoir une dimension de date pour chaque type de date avec des hiérarchies année-mois-jour, et elles ne font que descendre au niveau du mois quand c'est nécessaire . Si cela doit aboutir à une dimension séparée avec une hiérarchie d'année-mois, il semble que ce soit un fouillis indésirable. Mais est-ce l'intention?
Les deux derniers paragraphes de l'article lié sont la seule chose que j'ai trouvée concernant la façon dont cela devrait fonctionner dans la couche de présentation, et je ne comprends pas ce qu'ils essaient de décrire. Il semble court quelques exemples pour expliquer comment cela devrait apparaître dans un cube. Normalement, je ne ferais que des essais et des erreurs, mais les timeouts sont très serrés. Alors…
Les deux premiers points sont les plus importants, parce que je saurais si je dois apporter des modifications à l'entrepôt de données et les faire si c'est le cas – je serais très heureux de pouvoir répondre à ces questions, même si vous ne pouvez pas couvrir le troisième point.
Ce n'est pas une réponse ni une réponse de Cognos. À titre de comparaison, je veux souligner comment les faits multi-grains sont modélisés dans d'autres outils.
http://www.cognoise.com/index.php?topic=17992.0
Dans le premier lien:
Je ne suis pas un expert SSAS mais il semble qu'il ne supporte pas ce genre de fonctionnalité.
Si tel est le cas, il me semble qu'il ne sert à rien de modéliser correctement datatables. Par correctement je veux dire assigner un mois particulier à un fait qui est seulement défini au niveau mensuel.
Jusqu'à présent, je ne vois aucun problème à modéliser cela en assignant un jour particulier dans le mois. Si la table de faits est au même niveau (mensuel), nous soaps qu'une date dans le tableau représente un mois. À tout le less, vous pourriez vouloir mettre une contrainte de vérification qui assure que c'est le premier du mois, donc il n'y a pas d'ambiguïté.
Le résultat est lorsque vous observez des faits mensuels et quotidiens au niveau mensuel, tout est cohérent. Lorsque vous observez des faits mensuels et quotidiens à un niveau quotidien, vous voyez un gros morceau au début du mois. Si vous pouvez utiliser SSAS pour masquer la mesure à ce niveau .. problème résolu.