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 :

Problème de totalisation sur une hiérarchie. [2005]


Sujet :

SSAS

  1. #1
    Membre régulier
    Profil pro
    DSI
    Inscrit en
    Mars 2009
    Messages
    102
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : DSI

    Informations forums :
    Inscription : Mars 2009
    Messages : 102
    Points : 73
    Points
    73
    Par défaut Problème de totalisation sur une hiérarchie.
    Bonsoir ,

    Je dispose de 3 tables de faits :
    • Ventes : Référence, Marque, Date, Quantité Vendue
    • Stocks : Référence, Marque, Date, Quantité en Stock
    • Référentiel : Référence, Marque, Date, Nb de mois de présence de la référence dans la société exprimé en nombre de mois. [Qt Mois Présence Ref] (Date-Date de création référence)


    Dans un cube, j’ai :
    • Une Dimension type Time pour la date
    • Une Dimension pour les Marques et Références, organisées en hiérarchie Marque + Référence.


    Quantités Vendues et En stock sont agrégées dans mon cube avec la fonction SUM().
    [Qt Mois Présence Ref ] est agrégé dans mon cube avec la fonction MAX()

    J’ai enfin deux mesures calculées :
    • Moyenne des ventes sur les 6 derniers mois
    • Quantité en stock Vivant

    définies comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CREATE MEMBER CURRENTCUBE.[Measures].[Qt Moy Vte 6m]
     AS avg(LASTPERIODS(6, [Période].[Mois].currentmember),
    [Measures].[Qt Vendues]), 
    VISIBLE = 1;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CREATE MEMBER CURRENTCUBE.[MEASURES].[Qt Stock Vivant]
     AS case 
    when [Measures].[Qt Mois Présence Ref] <= 6 then [Measures].[Qt Stock] 
    when [Measures].[Qt Moy Vte 6m] <> 0 then [Measures].[Qt Stock] 
     else 0 end, 
    VISIBLE = 1  ;
    Lorsque je consulte les chiffres (avec Excel) :
    • Avec la REFERENCE en ligne, C’est OK. Ils correspondent bien à la base de données, et le calcul du stock vivant se fait bien. MAIS LA LIGNE TOTAL N’EST PAS JUSTE.
    • Avec la MARQUE en ligne, C’est KO. Tout le stock considéré comme Vivant.


    Je me doute bien que cela a à voir avec le mode d’agrégation (ou quelque chose comme ca) de [Qt Mois Présence Ref] et/ou de la moyenne des ventes, mais je n’arrive pas à cerner le problème. (En fait, je ne suis un pur autodidacte occasionnel en techno BI.)

    Si quelqu'un pouvait m’indiquer une piste de recherche.

    Merci.

  2. #2
    Membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 29
    Points : 48
    Points
    48
    Par défaut
    Qu'est-ce qui n'est "pas juste" dans la ligne de total. As-tu un exemple, de résultat espéré?

  3. #3
    Membre régulier
    Profil pro
    DSI
    Inscrit en
    Mars 2009
    Messages
    102
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : DSI

    Informations forums :
    Inscription : Mars 2009
    Messages : 102
    Points : 73
    Points
    73
    Par défaut
    Bonjour et merci de ton intérêt.

    Un Exemple:
    R1, R2, R3 sont 3 références. Total Cube=Le total édité par le cube, Tot Att, le total attendu.


    Qt Mois Présence R1->51 R2->62 R3->31 Total Cube->62 Tot Att->62
    Qt Stock R1->2 R2->3 R3->6 Total Cube->11 Tot Att->11
    Qt Moy Vte 6m R1->1,3 R2->0 R3->1 Total Cube->1,6 Tot Att->1,6
    Qt Stock Vivant R1->2 R2->0 R3->6 Total Cube->11 Tot Att->8


    Je voudrais que le total stock vivant soit de 8 au lieu de 11.

    Je me doute bien que le calcul de la mesure STOCK VIVANT s'effectue au niveau Marque avec 62, 11, 1,6 et donc le résultat du calcul donne 11.

    Il faudrait que le calcul décrit s'effectue bien au niveau d'une référence, mais pas aux niveaux supérieurs. Dans ce cas il faut que la mesure prenne la somme des niveaux inférieurs.

  4. #4
    Membre confirmé
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Novembre 2010
    Messages
    304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2010
    Messages : 304
    Points : 579
    Points
    579
    Par défaut
    Si tu mets un truc comme ça, ça donne quoi ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Scope 
      ( 
         [MEASURES].[Qt Stock Vivant],
         [marque].Members 
      ) ;   
     
        This = Sum(
    [MEASURES].[Qt Stock Vivant],
    [marque].currentmember.children) ;   
     
      End Scope ;

  5. #5
    Membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 29
    Points : 48
    Points
    48
    Par défaut
    Effectivement, [Measures].[Qt Moy Vte 6m] <> 0 va être évalué au niveau de la marque, et pas de chaque référence, et sera donc toujours vrai.

    Comme le note David, l'utilisation de la fonction SUM semble indiquée.

    J'aurais plutôt pensé à quelque chose comme cela:

    CREATE MEMBER CURRENTCUBE.[MEASURES].[Qt Stock Vivant]
    AS
    SUM(
    EXISTING LEAVES( [Référentiel])
    , CASE WHEN ... END
    )

  6. #6
    Membre régulier
    Profil pro
    DSI
    Inscrit en
    Mars 2009
    Messages
    102
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : DSI

    Informations forums :
    Inscription : Mars 2009
    Messages : 102
    Points : 73
    Points
    73
    Par défaut
    Bonjour,

    Merci à vous deux de vos avis.

    J'ai perdu 2 jours sur ces problèmes de scope, mais n'ai pas réussi.

    J'ai traité le problème par SQL. Cela limite les possibilités d'analyse de la donnée, mais tant pis.

    Encore Merci.

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

Discussions similaires

  1. Problème de design sur une hiérarchie d'objets
    Par LittleWhite dans le forum C++
    Réponses: 15
    Dernier message: 12/02/2012, 13h46
  2. [2008] Problème de doublons sur une dimension et une hiérarchie
    Par cana13 dans le forum SSAS
    Réponses: 16
    Dernier message: 22/04/2011, 11h23
  3. Problème de totalisation sur une requête
    Par lodan dans le forum Requêtes
    Réponses: 3
    Dernier message: 30/11/2009, 18h40
  4. probléme de cadre sur une image qui me sert de lien
    Par thomas_chamas dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 26/11/2004, 17h36
  5. Problème de chaine sur une page HTML
    Par Kerod dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 23/11/2004, 16h23

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