IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SSAS Discussion :

Calcul spécifique niveau feuille et filtre sur une hiérarchie => aggrégation incorrecte (MDX)


Sujet :

SSAS

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 298
    Points : 318
    Points
    318
    Par défaut Calcul spécifique niveau feuille et filtre sur une hiérarchie => aggrégation incorrecte (MDX)
    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;

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 298
    Points : 318
    Points
    318
    Par défaut
    J'ai cherché sur Internet, mais je n'ai pas trouvé de solution.

    En attendant de trouver une solution, je vais calculer la valeur en base.
    C'est moins souple et moins élégant, mais cela fonctionne

Discussions similaires

  1. copie du résultat d'un filtre sur une autre feuille
    Par totogabi dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 23/11/2015, 16h39
  2. TCDs multiples avec plusieurs filtres sur une feuille
    Par zenparadox dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 07/02/2014, 15h58
  3. Réponses: 0
    Dernier message: 29/10/2013, 12h22
  4. copie d'une selection filtrée sur une autre feuille
    Par biboulou dans le forum Excel
    Réponses: 2
    Dernier message: 15/08/2011, 15h44
  5. [XL-2003] Exporter une liste de données sans doublons après un filtre sur une deuxième feuille
    Par mandrake57 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/07/2011, 13h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo