2016-04-20 14 views
1

Ich habe mir AVG(MDX) angesehen und möchte einen Durchschnitt über mehrere Monate erhalten.MDX Wie erhalten Sie den Durchschnitt über mehrere Monate hinweg?

Mit diesem als simpla MDX:

SELECT NON EMPTY 
    {[Measures].[Freight]} ON COLUMNS 
,NON EMPTY 
    {[Due Date].[Calendar Month].[Calendar Month].MEMBERS} ON ROWS 
FROM [Adventure Works Cube]; 

Es wird zurück:

enter image description here

Ist es möglich, zurückgeben:

Freight 
August 108567.2463 
February 208635.5203 
July 103180.7446 
March 209712.7297 
November 103873.3682 
Avg Freight 146793.9218 

ich versucht habe:

WITH MEMBER [Measures].[Average Freight] AS 
    AVG([Due Date].[Calendar Month].[All], 
     [Measure].[Sale]) 
SELECT NON EMPTY 
    {[Measures].[Freight], 
    [Measures].[Average Freight]} ON COLUMNS 
,NON EMPTY 
    {[Due Date].[Calendar Month].[Calendar Month].MEMBERS} ON ROWS 
FROM [Adventure Works Cube]; 

Es gibt nur:

enter image description here

+0

Sie das nicht hilfreich sein können, aber ich werde beraten Sie können dies der Präsentationsebene überlassen. Sie können das leicht in Excel oder SSRS tun. – BICube

+0

Ich habe eine Antwort hinzugefügt - Sie müssen ein SET in die durchschnittliche Funktion für die Engine über Durchschnitt enthalten ... – whytheq

Antwort

1

Wenn Sie dies tun bekommen Sie nicht den Durchschnitt:

WITH 
    MEMBER [Measures].[Average Freight] AS 
    Avg([Measures].[Freight Cost]) 
SELECT 
    { 
    [Measures].[Average Freight] 
    ,[Measures].[Freight Cost] 
    } ON COLUMNS 
,NON EMPTY 
    [Date].[Calendar].[Month].MEMBERS ON ROWS 
FROM [Adventure Works]; 

Die durchschnittliche genauso wie die eigentliche Maßnahme:

enter image description here

eine durchschnittliche Dazu benötigen Sie einen SET den Durchschnitt zu tun:

WITH 
    MEMBER [Measures].[Average Freight] AS 
    Avg 
    (
     [Date].[Calendar].CurrentMember.Children 
    ,[Measures].[Freight Cost] 
    ) 
SELECT 
    { 
    [Measures].[Average Freight] 
    ,[Measures].[Freight Cost] 
    } ON COLUMNS 
,NON EMPTY 
    [Date].[Calendar].[Month].MEMBERS ON ROWS 
FROM [Adventure Works]; 

So ist die durchschnittliche Maßnahme macht jetzt Sinn:

enter image description here

0

Unterhalb eines getesteten Beispiel mit Adventure Works. msdn Avg (MDX) link

WITH MEMBER [Measures].[Average Freight] AS 
AVG ([Measures].[Freight Cost] 
) 
SELECT 
    [Measures].[Average Freight] ON COLUMNS, 
    NON EMPTY [Date].[Calendar].[Month].Members ON ROWS 
FROM 
    [Adventure Works]; 

Ergebnis

  Average Freight 
July 2005  24067.9287 
August 2005  51115.0148999999 
September 2005 40996.0152 
October 2005 33951.2746 
.... 
+0

die Zahl in Ihren Ergebnissen sind genau das gleiche wie '[Maßnahmen]. [Frachtkosten]'. Die Definition von AVG befindet sich hier: https://msdn.microsoft.com/en-us/library/ms146067.aspx. Das erste Argument muss eine Menge sein. – whytheq

Verwandte Themen