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 :

[2K8] concept de base mdx et total


Sujet :

SSAS

  1. #1
    Membre régulier
    Inscrit en
    Février 2008
    Messages
    225
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 225
    Points : 96
    Points
    96
    Par défaut [2K8] concept de base mdx et total
    Bonjour à tous,

    Je débute en mdx et j'ai une petite question qui va peut-être vous paraître un peu bête mais la voici tout de même :

    Je crée un membre calculé Mesure C dans mon cube à partir de deux autres mesures calculées :

    Mesure C= Mesure A - Mesure B

    Sur chaque ligne la mesure C est correct.
    Par contre il m'applique le même calcul sur la ligne "total" alors que je souhaiterais qu'il me fasse bien le total de la colonne mesure C.

    Comment modifier ce comportement ?

    Merci par avance

    PS: Version standard de Sql Server 2008.

  2. #2
    Membre émérite Avatar de FrancoisJehl
    Homme Profil pro
    BI Engineer
    Inscrit en
    Juillet 2009
    Messages
    1 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : BI Engineer
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 485
    Points : 2 883
    Points
    2 883
    Par défaut
    Cette aggrégation SUM tu veux qu'elle ait lieu à tous les niveaux aggrégés de tes dimensions? Ou juste sur le niveau (ALL)? Si tu veux que ta measure calculée soit calculée juste sur les feuilles tu peux utiliser un SCOPE sur Leaves() - ou un IsLeaf - et traiter la mesure soit comme ton expression, soit comme une somme des descendants. L'approche alternative c'est de créer ta mesure C comme une vraie mesure avec une aggreg de type SUM et de réaffecter les niveaux feuille avec ta formule.

  3. #3
    Membre régulier
    Inscrit en
    Février 2008
    Messages
    225
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 225
    Points : 96
    Points
    96
    Par défaut
    Merci pour ta réponse, j'ai pu explorer les pistes que tu m'as donné et le résultat montre que j'ai beaucoup à apprendre en mdx

    Citation Envoyé par FrancoisJehl Voir le message
    Cette aggrégation SUM tu veux qu'elle ait lieu à tous les niveaux aggrégés de tes dimensions?
    Ce serait l'idéal. J'en profite pour préciser que la mesure doit fonctionner pour toutes les dimensions

    Citation Envoyé par FrancoisJehl Voir le message
    Ou juste sur le niveau (ALL)? Si tu veux que ta measure calculée soit calculée juste sur les feuilles tu peux utiliser un SCOPE sur Leaves() - ou un IsLeaf - et traiter la mesure soit comme ton expression, soit comme une somme des descendants.
    J'ai essayé cette méthode, voici à peu près ce que cela donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CREATE MEMBER CURRENTCUBE.[Measures].[C]
     AS IIF(IsLeaf([Dim1]) OR IsLeaf(Dim2]),
    ([Measures].[A]- [Measures].[B]),
    SUM(DESCENDANTS(Measures.[C]))),
    Je ne pense pas avoir compris le fonctionnement de IsLeaf.
    Comme je veux que le comportement soit globale à toutes les dimensions, je voulais faire le test sur la granularité la plus fine de ma mesure du style IsLeaf([Measures].[C]) mais cela ne fonctionne pas
    De même je ne sais pas trop comment exprimé la somme des descendants. je souhaiterais avoir la somme de (measures A - measures B)


    Citation Envoyé par FrancoisJehl Voir le message
    L'approche alternative c'est de créer ta mesure C comme une vraie mesure avec une aggreg de type SUM et de réaffecter les niveaux feuille avec ta formule.
    J'ai essayé cette méthode, avec ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SCOPE (Leaves(),[Measures].[C]); 
      this =
    ([Measures].[A]- [Measures].[B]);
    END SCOPE;
    Cela fonctionne mieux mais "parasite" les autres mesures, si j'affiche simultanément mesure C et mesure A, la mesure A est vide..

    Merci pour ton aide.

  4. #4
    Membre émérite Avatar de FrancoisJehl
    Homme Profil pro
    BI Engineer
    Inscrit en
    Juillet 2009
    Messages
    1 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : BI Engineer
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 485
    Points : 2 883
    Points
    2 883
    Par défaut
    J'ai essayé cette méthode, avec ce code :
    SCOPE (Leaves(),[Measures].[C]);
    this =
    ([Measures].[A]- [Measures].[B]);
    END SCOPE;

    Cela fonctionne mieux mais "parasite" les autres mesures, si j'affiche simultanément mesure C et mesure A, la mesure A est vide..
    Hmmm tu as testé en MDX aussi plutôt que dans le viewer seul?

  5. #5
    Membre régulier
    Inscrit en
    Février 2008
    Messages
    225
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 225
    Points : 96
    Points
    96
    Par défaut
    J'ai testé en MDX, c'est la même chose..

Discussions similaires

  1. [Conception] connection base db2 sur as400 en php
    Par moumout dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 10/09/2011, 23h03
  2. Conception de base pour les Etats
    Par JauB dans le forum DB2
    Réponses: 13
    Dernier message: 04/01/2007, 11h21
  3. [Conception] Cache base de donnée Versus cache FTP ?
    Par genova dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 13/09/2005, 18h39
  4. Conception de Base de données (AutoIncrément oui ou non)
    Par matgel dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 16/04/2004, 08h47
  5. Recherche Livre / Conseils sur la conception de Base
    Par Yeuma dans le forum Décisions SGBD
    Réponses: 7
    Dernier message: 02/01/2004, 14h25

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