Aide, je suis relativement nouveau à la construction OLAP Cubes des services d'analyse SQL Server de Microsoft et j'ai besoin d'aide avec une mesure semi-additive sur une dimension temporelle.
En d'autres termes, je voudrais montrer l'équilibre final comme une mesure non additive aux points d'agrégation trimestriels et annuels.
Ending Balance
qui est la somme de tous les comptes se terminant les soldes.As of Date
. Cette dimension peut être agrégée par année, trimestre et montrer des points de données mensuels.J'utilise SQL Server Enterprise Edition.
Je me suis assuré que la dimension temporelle est correctement spécifiée avec les types de types et attributs corrects. Lien de référence
Le moyen le plus simple d'accomplir ce qui précède est de définir le CustomRollupColumn
Dans votre dimension de date pour votre quart et année Dimensions à l'équation suivante:
'TAIL(NonEmptyCrossJoin(
DESCENDANTS([Date].[Date Hierarchy].CurrentMember,1),1)
).item(0)'
Où:
Vous ne pouvez pas définir manuellement l'équation CustomRollUpColumn dans l'éditeur Visual Studio. Ce champ doit être fourni par une colonne dans votre jeu de données de dimension. Bien que cela semble un peu étrange, cela vous fournit une tonne de flexibilité.
Pour ce faire, créez une colonne personnalisée dans votre DSV (ou l'inclure dans votre table de dimension). Voici un exemple:
Enfin, une fois que vous avez terminé cette étape, accédez à votre dimension de date et définissez votre paramètre CustomRollupColumn
égal à ce champ nouvellement créé. Voici un exemple:
Assurez-vous de le faire pour votre dimension trimestrielle et annuelle.
J'ai toujours besoin de mener des tests, mais si tout fonctionne, je reviendrai et marquerai cela comme répondu. Jusqu'à présent, tout fonctionne bien. Les quartiers partiellement remplis feront référence au dernier mois prévu (point de données). Même chose avec les dimensions de l'année.
Ressources qui ont été utiles pour déterminer cela: