J'ai eu un problème similaire et je l'ai résolu comme suit :
SSAS ne peut pas vraiment vous dire sur quelle hiérarchie vous vous trouvez, vous ne pouvez donc pas le faire aussi simplement que dans votre exemple. cependant, ce qui suit a fonctionné pour moi. J'ai essayé de le retravailler à votre nom, alors vérifiez les erreurs de syntaxe évidentes...
Tout cela va dans votre script de calcul de cube, vous devrez peut-être utiliser 'script view' au lieu de 'block view'.
CREATE MEMBER CURRENTCUBE.[Measures].[Commitment Total] AS NULL;
Définissez-le ensuite plus tard dans le script pour chaque hiérarchie :
SCOPE (DESCENDANTS([Date Dim].[FY Hierarchy],,AFTER));
[Measures].[Commitment Total] =
sum(
[Date Dim].[FY Hierarchy].[Fiscal Year].members(0):[Date Dim].[FY Hierarchy].currentMember
, [Measures].[Commitment Count]);
END SCOPE;
SCOPE (DESCENDANTS([Date Dim].[CY Hierarchy],,AFTER));
[Measures].[Commitment Total] =
sum(
[Date Dim].[CY Hierarchy].[Calendar Year].members(0):[Date Dim].[CY Hierarchy].currentMember
, [Measures].[Commitment Count]);
END SCOPE;
Maintenant, il se comportera en conséquence, en fonction de la hiérarchie présente dans la requête. Notez qu'il sera NULL si aucune hiérarchie n'est dans la requête.