2016-07-25 49 views
0

Ich muss vorherige (oben) Mitglied Verkäufe mit mdx Abfrage für jedes aktuelle Mitglied erhalten.Holen Sie sich über Member-Wert in MDX in geordneter Auswahl

Der folgende mdx funktioniert gut, um vorherige Elementwert in normale Abfrage zu bringen, aber wenn ich die Zeilen nach dem Verkauf zu einem oberen ordnen, ist der vorherige Wert durcheinander und es folgt nicht die bestellten Mitglieder.

Ich muss den vorherigen Mitgliedswert nach oben zu bekommen, um den Unterschied zwischen Sales zu bekommen. ich Mondrian bin mit 3. enter image description here

Antwort

0

Ich konnte nur das Problem lösen, indem Sie die folgende Formel für berechnete Element mit:

WITH 
    MEMBER [Measures].[PrevMemberSales] AS 
     (Order(
      [Markets].[Country].Members 
     ,[Measures].[Sales] 
     ,BDESC 
     ).Item(
       Rank(
        [Markets].[Country].CurrentMember 
        ,Order(
         [Markets].[Country].Members 
        ,[Measures].[Sales] 
        ,BDESC 
        ) 
       ) - 2 
       ).Item(0) 
     , [Measures].[Sales] 
     ) 
SELECT 
    NON EMPTY ({[Measures].[Sales], [Measures].[PrevMemberSales]}) ON COLUMNS, 
    NON EMPTY 
     ORDER(
      {[Markets].[Country].Members} 
      , [Measures].[Sales], BDESC) 
     ON ROWS 
FROM 
    [SteelWheelsSales] 

Das Ergebnis ist in Ordnung, aber meine nächste Frage ist ein berechnetes Element zu machen das bringt die Summe aller Verkäufe für alle oben genannten Mitglieder. Zum Beispiel für Frankreich Sales sollte der Wert USA + Spanien Umsatz sein, für Australien Sales brauche ich USA + Spanien + Frankreich Sales.

Irgendeine Idee?