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 :

[SSAS] [2K5] modifier le comportement semi-additif


Sujet :

SSAS

  1. #1
    Membre habitué Avatar de anayathefirst
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 326
    Points : 182
    Points
    182
    Par défaut [SSAS] [2K5] modifier le comportement semi-additif
    Bonjour,
    Est-il possible de définir de manière plus précise dans SSAS la façon dont se calculent les agrégations de mes mesures.
    En fait, dans ma table de fait, j’ai une mesure qui prend toujours la même valeur pour une combinaison de 3 dimensions. Je voudrais donc que la somme se fasse uniquement par rapport aux valeurs distinctes des membres des dimensions respectives. Un truc qui ressemblerait à Sum{Existing distinct((Dim1, Dim2, Dim3), maMesure)}.
    Je ne suis pas un pro du MDX, alors si vous pouviez me donner des liens vers une doc intéressante, ce serait le pied. j'ai déjà celle de microsoft (http://msdn.microsoft.com/fr-fr/library/ms145970.aspx) mais je n'y trouve pas ce que je recherche

  2. #2
    Membre actif
    Inscrit en
    Janvier 2009
    Messages
    198
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Janvier 2009
    Messages : 198
    Points : 244
    Points
    244
    Par défaut
    Bonjour,

    Tu peux créer un membre calculé sur l'axe des mesures.
    Avec une expression MDX qui implémente l'additivité que tu souhaites.
    Tu fais ça dans l'onglet « calculation » du BIDS.


    http://msdn.microsoft.com/fr-fr/library/ms160335.aspx
    Si c'est ce que tu souhaites faire je te donnerai des liens vers des articles plus complets.


    Alexis Molteni

    Consultant SQL Server indépendant
    Spécialiste Business intelligence, technologies Microsoft.
    MCSD, MCDBA, MCTS, MCITP(BI)
    www.sql-it.com
    blog.sql-it.com

  3. #3
    Membre habitué Avatar de anayathefirst
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 326
    Points : 182
    Points
    182
    Par défaut
    C'est exactement ce que je voudrais faire, ce qui me manque pour l'instant, c'est la syntaxe MDX pour implémenter une additivité complexe (selon trois dimensions dans mon cas)

  4. #4
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 56
    Points : 67
    Points
    67
    Par défaut
    Si j'ai bien compris, cela serait quelque chose dans ce genre

    WITH
    MEMBER
    [Measures].[MonMembreCalcule]
    AS
    CASE
    [Dim1].Currentmenber = [Dim2].Currentmenber
    AND
    [Dim2].Currentmenber = [Dim3].Currentmenber

    WHEN True THEN
    [Measures].[MaMesure]
    ELSE NULL
    END

  5. #5
    Membre habitué Avatar de anayathefirst
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 326
    Points : 182
    Points
    182
    Par défaut
    Ce n'est pas tout a fait ça.

    Dans mon système, pour chaque ensemble ([Dim1].&[membre n],[Dim2].&[membre m],[Dim3].&[membre k]), j'ai toujours la même valeur de la mesure [Measures].[MaMesure] quelque soit les membres des autres dimensions de mon cube.

    Pour plus de détails, la mesure en question, c'est une prévision annuelle de nombre de contrôles à effectuer par type de contrôle et par département dans l'entreprise. le cube est destinée à l'audit interne de l'entreprise, et la table de fait contient les données concernant chaque contrôle effectué (avec le résultat du contrôle, le nombre d'erreurs détectées ...

    Pour la prévision, j'avais pensé au départ à mettre une table intermédiaire contenant les données (année, type de contrôle, département, prévision), mais c'est assez lourd à mettre en place, et je ne sais pas si c'est conseillé de faire appel à plusieurs tables pour générer des mesures pour un même cube.

  6. #6
    Membre actif
    Inscrit en
    Janvier 2009
    Messages
    198
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Janvier 2009
    Messages : 198
    Points : 244
    Points
    244
    Par défaut
    Dans mon système, pour chaque ensemble ([Dim1].&[membre n],[Dim2].&[membre m],[Dim3].&[membre k]), j'ai toujours la même valeur de la mesure [Measures].[MaMesure] quelque soit les membres des autres dimensions de mon cube.
    Et pourquoi ne pas ajouter une dimension qui identifie chaque combinaison distinct issus des tes dimensions ?
    A première vue j'ai peur que tu ais un problème de modélisation du cube.


    Alexis Molteni

  7. #7
    Membre habitué Avatar de anayathefirst
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 326
    Points : 182
    Points
    182
    Par défaut
    d'où mon questionnement
    je ne sais pas si c'est conseillé de faire appel à plusieurs tables pour générer des mesures pour un même cube.
    d'après ce que tu me dis, je peux faire ça sans problème ...

  8. #8
    Membre habitué Avatar de anayathefirst
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 326
    Points : 182
    Points
    182
    Par défaut
    En fait, dans la base de production, j'ai une table "plan de contrôle" (année, type de contrôle, département, prévision), et pour chaque contrôle effectué, j'ai les donnée année, type de contrôle et département (en plus d'autres indicateurs).
    Tu me conseillerais donc de créer carrément une dimension "plan de contrôle" et d'utiliser la valeur de la prévision en tant que mesure ? je trouve bizarre d'utiliser des mesure provenant de dimensions, mais si ça ne vous choque pas, pourquoi pas...

  9. #9
    Membre actif
    Inscrit en
    Janvier 2009
    Messages
    198
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Janvier 2009
    Messages : 198
    Points : 244
    Points
    244
    Par défaut
    Tu utilises en mesure ce que tu dois analyser et en dimension les entités qui la qualifie et ce par quoi tu souhaites analyser ces faits.
    Tu peux utiliser les vues SQL Server ou la datasource view de SSAS pour modéliser la structure dont tu as besoins.

    Alexis Molteni

    Consultant SQL Server indépendant
    Spécialiste Business intelligence, technologies Microsoft.
    MCSD, MCDBA, MCTS, MCITP(BI)
    www.sql-it.com
    blog.sql-it.com

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 23/04/2009, 10h30
  2. Réponses: 5
    Dernier message: 22/01/2009, 10h20
  3. Réponses: 2
    Dernier message: 02/09/2008, 08h22
  4. modifier le comportement d'ArrayList
    Par Zorgz dans le forum API standards et tierces
    Réponses: 8
    Dernier message: 09/10/2006, 13h31
  5. [D7] Modifier le comportement d'un FieldKind = fklookup
    Par Débéa dans le forum Bases de données
    Réponses: 4
    Dernier message: 30/01/2006, 12h31

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