Wir versuchen, einige MDX-Abfragen zu entwickeln, die es dem Benutzer ermöglichen, die berechnete Profitnummer basierend auf einem Transaktionstyp zu generieren. Hier ist ein Beispiel:MDX-Mitglied wird nicht gefiltert
WITH MEMBER [Measures].[Profit] AS
'((Sum({[Transaction Type].[All Transaction Types].[SALE]}, [Measures].[Amount]) +
Sum({[Transaction Type].[All Transaction Types].[MOTO]}, [Measures].[Amount]) +
Sum({[Transaction Type].[All Transaction Types].[FORCECAPTURE]}, [Measures].[Amount]) +
Sum({[Transaction Type].[All Transaction Types].[FORCE]}, [Measures].[Amount]) +
Sum({[Transaction Type].[All Transaction Types].[RECURRINGSALE2]}, [Measures].[Amount]) +
Sum({[Transaction Type].[All Transaction Types].[SPECIALFORCE]}, [Measures].[Amount]) +
Sum({[Transaction Type].[All Transaction Types].[VOICEAUTH]}, [Measures].[Amount]) +
Sum({[Transaction Type].[All Transaction Types].[VALIDATION]}, [Measures].[Amount]) +
Sum({[Transaction Type].[All Transaction Types].[REPEATCHECK]}, [Measures].[Amount]) +
Sum({[Transaction Type].[All Transaction Types].[CONVERSION]}, [Measures].[Amount]) +
Sum({[Transaction Type].[All Transaction Types].[GENERICCHECK]}, [Measures].[Amount]) +
Sum({[Transaction Type].[All Transaction Types].[CASHIN]}, [Measures].[Amount]) +
Sum({[Transaction Type].[All Transaction Types].[CHECKMANUALDEPOSIT]}, [Measures].[Amount]) -
Sum({[Transaction Type].[All Transaction Types].[RECURRINGCREDIT]}, [Measures].[Amount]) +
Sum({[Transaction Type].[All Transaction Types].[ACH]}, [Measures].[Amount]) +
Sum({[Transaction Type].[All Transaction Types].[GUARANTEEANDCHECK2]}, [Measures].[Amount]) +
Sum({[Transaction Type].[All Transaction Types].[RECURRINGACH]}, [Measures].[Amount]) +
Sum({[Transaction Type].[All Transaction Types].[GUARANTEE]}, [Measures].[Amount]) +
Sum({[Transaction Type].[All Transaction Types].[SUPERVISORAPPROVAL]}, [Measures].[Amount])) -
Sum({[Transaction Type].[All Transaction Types].[RELOAD]}, [Measures].[Amount]) -
Sum({[Transaction Type].[All Transaction Types].[CASHOUT]}, [Measures].[Amount]) -
Sum({[Transaction Type].[All Transaction Types].[CREDIT]}, [Measures].[Amount]))'
SELECT {{[Measures].[Profit],[Measures].[Transaction Number]}} ON COLUMNS, NON EMPTY {(DESCENDANTS([Location].[All Locations].&[1],1))} ON ROWS FROM (SELECT (-{[Voided].[Voided].[Voided].&[true]},
{[Transaction Response].[TransactionResponses].&[APPROVED]},{[Transaction Type].[All Transaction Types].[SALE],[Transaction Type].[All Transaction Types].[CREDIT]}) ON COLUMNS FROM [DashBoardCube])
WHERE ([Time].[YEAR].&[2012])
Die Probleme kommt, wenn wir versuchen, diese Abfrage mit dem Transaktionstyp zu filtern, wie Sie oben in der Probe zu sehen. Der Profit-Wert ist immer der gleiche, ich nehme an, dass das wegen der Definition des Mitglieds ist.
Es gibt eine Möglichkeit, dies zu archivieren, basierend auf einem berechneten Element, wie wir es definiert haben?
Mit besten Grüßen,
Frage ist immer noch nicht klar, Ihre oben genannten MDX sollte die Summe der Transaktionsarten [Verkauf] und [KREDIT] zurückgeben, richtig? – Jigar
Korrekt, aber stattdessen gibt es immer die Summe aller Transaktionen zurück. – rfders