J'essaie d'ajouter un membre calculé à mon cube, ce qui renverra le premier exercice où il y a des données dans une mesure particulière.Force le membre calculé au cube entier
Le but est de supprimer (c'est-à-dire de NULLIFIER) diverses mesures calculées d'une année à l'autre lorsque l'année est la première année: cette année, la comparaison avec l'année précédente n'a pas de sens.
J'ai ce jusqu'à présent:
WITH MEMBER Measures.DataStartYear_Sales
AS
HEAD(
NONEMPTY([Calendar].[Fiscal Periods].[Fiscal Year].Members,[Measures].[QuantityOrdered])
,1).Item(0).Properties("NAME")
Au moment:
a. Il s'agit d'une mesure à portée de requête, car c'est plus facile à expérimenter.
b. Il retourne le nom de la première année, car c'est plus facile à voir. Finalement, je vais simplement renvoyer le membre lui-même, et faire une comparaison IS contre la hiérarchie de l'année. CurrentMember dans les autres calculs de membre calculés. Le problème auquel je m'attendais, et qui s'est produit, est que je veux seulement que cette mesure soit calculée une fois, sur tout le cube. Mais quand je l'ai utilisé dans une requête, il réagit évidemment au contexte. Par exemple, si je colle la dimension Produits sur ROWS, la valeur de cette mesure sera différente pour chaque ligne, car la première date de commande de chaque produit est différente.
C'est bien sûr utile, mais ce n'est pas ce que je veux. Existe-t-il un moyen de forcer cette mesure à ignorer le contexte de la requête et de toujours retourner la même valeur? J'ai regardé dans SCOPE_ISOLATION et SOLVE_ORDER, mais ils ne font pas ce que j'essaye de faire ici.
Je suppose que je pourrais spécifier un tuple de Dimension1.All, Dimension2.All .... DimensionN.All, couvrant toutes les dimensions dans le cube, mais qui semble salissant et fragile.
Brillant! STATIC était ce que je cherchais: mais vous ne pouvez créer que STATIC SET, pas (pour une raison quelconque) CREATE STATIC MEMBER. Une fois que j'ai le set (singleton), c'est facile. – SebTHU