Bonjour,

Pour un client, j'ai besoin de calculer un équivalent temps plein qui est le budget de l'année en cours sur le nombre de jours ouvrés.

Le budget notifié dépend de l'année et de la dimension Contributeur.

La mesure jour ouvrés (Working Days) dépend de l'année et de la dimension Contributeur et n'est additive sur aucune dimension, donc elle est paramétrée en AggregateFunction = None donc je ne peux pas faire une simple règle de trois pour le calcul.

Cela implique un calcul spécifique au niveau feuille (cf. le code plus loin).

La dimension Contributeur contient une hiérarchie lié à la localisation géographique : Plaque géographique (EMEA, US,...) => Pays => Contributeur

Le calcul marche très bien sauf lorsque que je filtre un contributeur, le total affiché sur les niveaux supérieurs (par ex. Plaque géographique) est incorrect car il ne tient pas compte de ce filtre.
Comment est-il possible de corriger cela ?

Merci
Je précise que je ne suis pas un expert MDX et le code est basé sur un article trouvé sur le WEB

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
CREATE MEMBER CURRENTCUBE.[Measures].[ETP Notifie]
 AS [Measures].[Notifie] / [Measures].[Working Days], 
NON_EMPTY_BEHAVIOR = { [Working Days] }, 
VISIBLE = 1 ;  
SCOPE [Measures].[ETP Notifie];
    SCOPE ([Temps].[Par Année et Mois].[All]);
        THIS = Null;
    END SCOPE;
THIS = 
  CASE ISLEAF([L_Budget Contributeur].[Contributeur].CurrentMember)
    WHEN TRUE THEN
      [Measures].[ETP Notifie]
    ELSE
      SUM(
        EXISTING(
          DESCENDANTS([L_Budget Contributeur].[Contributeur].CurrentMember,, LEAVES)
        ),
        [MEASURES].[ETP Notifie]
      )
  END;
END SCOPE;