Une demande souvent récurrente en reporting ad hoc, c’est le besoin de faire des calculs, plus ou moins simples, qui n’ont pas été prévus dans le cube. Dans ce cas, on est souvent obligé de passer par le service informatique qui n’a pas forcément le temps ou les ressources pour traiter la demande rapidement.
Dans Analysis Services, les calculs se font avec des membres caclulés (Calculated member) qui se codent en MDX et se déploient directement dans le cube. Il est possible d’écrire un membre calculé pour une requête, valable le temps de la session. Report Builder 2.0 s’appuie sur cette possibilité pour proposer à l’utilisateur d’écrire ses propres membres calculés dans le concepteur de requêtes.
Attention, la requête s’écrit en MDX, ce qui limite l’usage pour des utilisateurs non développeurs mais soulignons toutefois la présence de cette fonctionnalité facile d’accès.
Il y a une utilisation efficace de cette fonctionnalité. Dans beaucoup de requêtes multidimensionnelles, on a besoin de ramener des propriétés d’une dimension dans une optique d’affichage, mais sans croiser les dimensions et complexifier la requête dans le cube OLAP. Par défaut, on glisse la propriété dans le designer de requête. Ceci a pour effet de générer un croisement de dimension en MDX ( {PropA * PropB}
). Quand on veut remonter une propriété pour affichage, on préfère la mettre dans les mesures, ce qui est possible avec un membre calculé.
On crée donc un membre calculé et on le fait pointer sur la propriété courrante :
[Product].[Color].CurrentMember.Name
On utilisera .Name ou .Value en fonction de ce que l’on veut remonter.
Une réflexion sur “Report Builder 2.0 – Créer un membre calculé sans passer par SSAS”