web-dev-qa-db-fra.com

SSAS OLAP Mesure semi-additive au fil du temps

Publier:

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.

Faits:

  • J'ai une mesure appelée Ending Balance qui est la somme de tous les comptes se terminant les soldes.

Dimensions:

  • J'ai une dimension de date appelée As of Date. Cette dimension peut être agrégée par année, trimestre et montrer des points de données mensuels.

Résultat souhaité:

Desired outcome of ending balance shown as non-additive measure along quarterly and yearly aggregation points.

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

6
Christopher Aliotta

Solution

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ù:

  • [Date] = Nom de la dimension
  • [Hiérarchie de date] = Votre dimension de hiérarchie de la date personnalisée

Considérations importantes

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:

Showing how to create the custom dimension equation

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:

Setting the CustomRollupColumn property for a Dimension Attribute

Assurez-vous de le faire pour votre dimension trimestrielle et annuelle.

Notes finales

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:

3
Christopher Aliotta