none
[MDX] Construction expression MDX pour mesure d'un cube OLAP RRS feed

  • Question

  • Bonjour,

    je ne suis pas une flèche en MDX.  Et j'essaie d'écrire une expression en MDX afin de créer une mesure calculée dans mon cube OLAP.

    Je vous explique mon soucis par un exemple que j'espère simple ce que je voudrais.

    Tous les mois j'ai deux prises de stock (nombre de pièces en stock dans un dépot).

    Je construis un cube avec une dimension temps + une fact table avec ma mesure NbPièce.

    Mon souhait est de donner de l'importante aux prises de stock faites fin de mois lorsqu'il y en a une, et donc cacher celle de milieu de mois.

    Exemple chiffré, je suis le 16 mars et le query demandé sur les 3 mois de l'année

    Ce que j'obtient et que je veux résoudre
    Mois 1 Prise de stock janvier 1 + prise de stock janvier 2
    Mois 2 Prise de stock février 1 + prise de stock février 2
    Mois 3 Prise de stock mars 1

    Ce que je voudrais
    Mois 1 prise de stock janvier 2
    Mois 2 prise de stock février 2
    Mois 3 Prise de stock mars 1

    On voit clairement que si il y a deux prises de stock, que c'est la seconde de ce mois qui compte...

    Avez vous une idée de la fonction, de l'expression que je peux utiliser pour obtenir ceci?

    merciiii beaucoup!
    mardi 3 février 2009 08:53

Réponses

  • Bon j'ai trouvé la réponse sur le forum US.

    Comme j'ai la version Enterprise, j'ai mis l'agrégation LastNoEmpty (au lieu de sum) dans ma mesure. Et c'est nickel.

    +++
    • Marqué comme réponse wiloO mercredi 4 février 2009 13:51
    mercredi 4 février 2009 13:51

Toutes les réponses

  •  
    Bonjour,

    je vois que ca ne vous inspire pas de trop

    Je tente de trouver la solution. En fait ce qu'il me faut, c'est la valeur qui correspond au membre feuille de ma hierarchie temps.

    J'essaie de me débrouiller pour d'abord trouver via un query. Si je fait ceci, il me sommes tous les membres de la hierarchie (et non toutes les feuilles de la hierarchie.

     WITH member [Measures].[Artloc Q-1] AS sum(Leaves([Vw Dim Time]),Measures.[Artloc Q])  
    select  {Measures.[Artloc Q], [Measures].[Artloc Q-1]} on 0,  
    [Vw Dim Time].[artloc_time_yearcal -  artloc_time_quartercal -  artloc_time_month -  artloc_time_date].[artloc_time_yearcal] on 1  
    from [Test Stock 2009]  

    Afin de mieux visualiser, j'intègre
    (Leaves([Vw Dim Time]),Measures.[Artloc Q])  

    dans une mesure calculée de mon cube de test.

    et j'obtiens :Mon fichier Jpg à télécharger

    Hors ce que j'aimerais obtenir dans colonne test_leaves, c'est par exemple pour la ligne 2008 / Quarter 1 / Month 1 / => la valeur de la feuille de cette branche c'est à dire 2935808 (sur les deux lignes ici puisque pour votre compréhension j'ai drill down un niveau plus bas que le niveau mois).

    Un petit éclaircissement ??

    Merciii
    mercredi 4 février 2009 11:45
  • Bon j'ai trouvé la réponse sur le forum US.

    Comme j'ai la version Enterprise, j'ai mis l'agrégation LastNoEmpty (au lieu de sum) dans ma mesure. Et c'est nickel.

    +++
    • Marqué comme réponse wiloO mercredi 4 février 2009 13:51
    mercredi 4 février 2009 13:51