2016-04-22 13 views
0

Lagerstruktur:Wie MEDIAN Funktion zu anderen Hierarchie in MDX-Abfrage verwenden?

Factsales: ..., DateKey, RefernceId, SalesAmount, .....

  • DateKey - Datum Dimensionsschlüssel, referenceId - Verkauf Id, SalesAmount - Verkaufsbetrag für jeden Verkauf (nicht für den Tag).

    Zum Beispiel waren in zwei Tagen 6 Verkäufe. Also in Warehouse Faktentabelle wird 6 Zeilen.

DateKey referenceId SalesAmount

2015-04-09 - 001 - 9

2015-04-09 - 002 - 10

2015-04-09 - 003 - 11

2015-04-10 - 004 - 12

2015- 04-10 - 005 - 13

2015-04-10 - 006 - 14

DimDate: DateKey, Jahr, Viertel, Monat, Datum, ......

Ich habe SSAS multidimensionalen Würfel und ich möchte Daten für Diagramm abfragen. Diagramm X-Achse ist Datum, Y-Achse ist SalesAmount.

Ok, ich muss 2 Tage Median zeigen. Es ist kein Problem, wenn wir Granulation von Tagen:

MEMBER [Measures].[2d median] AS 
(
MEDIAN(
[Date].[Date].CurrentMember.Lag(2) : 
[Date].[Date].CurrentMember.Lag(1), 
[Measures].[SalesAmount]) 
) 

In diesem Fall MDX zwei aggregierten Werte annehmen und meadian zählen. Aber wie man Daten durch RefenceId (durch jeden Verkauf) granuliert?

In diesem Fall muss MDX jeden Verkaufswert nehmen (für 2015-04-09 - 2015-04-10 werden 6 Werte sein).

Ich habe keine Ahnung, wie Sie die Date-Dimension mit der ReferenceId-Dimension verbinden. Sollte ich neue Hierarchie mit zusätzlichen Attribut erstellen?

Gefällt mir: ReferenceId -> Datum -> Monat -> Quartal -> Jahr.

+0

Haben Sie eine Dimension für ReferenceID ?. Um mein Verständnis zu bestätigen, müssen Sie den Median für zwei Tage für jede Referenz-ID unabhängig voneinander finden? – BICube

+0

Ja, ich habe die Dimension ReferenceID. Und, Ja, ich muss Median für zwei Tage für jede Referenz-ID finden. – Oblomingo

Antwort

0

Können Sie die Daten jeder Referenz-ID überkreuzen?

MEMBER [Measures].[2d median] AS 
(
MEDIAN(
    [ReferenceID].currentmember * 
    {[Date].[Date].CurrentMember.Lag(2) : [Date].[Date].CurrentMember.Lag(1)} 
,[Measures].[SalesAmount]) 
) 
+0

@Oblomingo hat mein kleines Skript Ihnen geholfen, Ihre Frage zu beantworten, oder sollte ich meinen Beitrag löschen? – whytheq