Aggregate (MDX)

Gibt eine Zahl zurück, die durch Aggregieren über die vom Mengenausdruck zurückgegebenen Zellen berechnet wird. Wenn kein numerischer Ausdruck angegeben wird, aggregiert die Funktion jedes Measure im aktuellen Abfragekontext mit dem für jedes Measure definierten Standardaggregationsoperator. Wenn ein numerischer Ausdruck angegeben wird, wertet die Funktion zuerst den numerischen Ausdruck für jede Zelle in der angegebenen Menge aus und summiert dann die Werte.

Syntax

  
Aggregate(Set_Expression [ ,Numeric_Expression ])  

Argumente

Set_Expression
Ein gültiger MDX-Ausdruck (Multidimensional Expressions), der eine Menge zurückgibt.

Numeric_expression
Ein gültiger numerischer Ausdruck, bei dem es sich in der Regel um einen MDX-Ausdruck (Multidimensional Expressions) für Zellenkoordinaten handelt, die eine Zahl zurückgeben.

Bemerkungen

Wenn eine Menge von leeren Tupeln oder eine leere Menge angegeben wird, gibt die Funktion einen leeren Wert zurück.

In der folgenden Tabelle wird das Verhalten der Aggregate-Funktion mit verschiedenen Aggregationsfunktionen beschrieben.

Aggregationsoperator Ergebnis
Sum Gibt die Summe der Werte über die Menge zurück.
Anzahl Gibt die Anzahl der Werte über die Menge zurück.
Max Gibt den Maximalwert über die Menge zurück.
Min Gibt den Minimalwert über die Menge zurück.
Semiadditive Aggregationsfunktionen Gibt die Berechnung von semiadditivem Verhalten über die Menge nach dem Projizieren der Form auf die Zeitachse zurück.
Distinct Count Aggregiert über die zum Teilcube beitragenden Faktendaten, wenn die Slicerachse eine Menge enthält.

Gibt ein Distinct Count Measure für jedes Element der Menge zurück. Das Ergebnis hängt von der Sicherheit der aggregieren Zellen und nicht von der Sicherheit der Zellen, die für die Berechnung erforderlich sind, ab. Die Zellensicherheit für die Menge generiert einen Fehler. Die Zellensicherheit unterhalb der Granularität der angegebenen Menge wird ignoriert. Berechnungen auf der Menge generieren einen Fehler. Berechnungen unterhalb der Granularität der Menge werden ignoriert. Ein Distinct Count über eine Menge, die ein Element und mindestens ein untergeordnetes Element enthält, gibt den Distinct Count über zum untergeordneten Element beitragende Fakten zurück.
Nicht aggregierbare Attribute Gibt die Summe der Werte zurück.
Gemischte Aggregationsfunktionen Nicht unterstützt, lösen einen Fehler aus.
Unäre Operatoren Nicht berücksichtigt. Die Werte werden durch Summieren aggregiert.
Berechnete Measures Festgelegte Lösungsreihenfolge, um sicherzustellen, dass das berechnete Measure gilt.
Berechnete Elemente Die üblichen Regeln gelten, d. h., die letzte Lösungsreihenfolge hat Vorrang.
Zuweisungen Zuweisungen werden entsprechend der Aggregationsfunktion des Measures aggregieren. Ist die Aggregationsfunktion des Measures Distinct Count, werden die Zuweisungen summiert.

Beispiele

Im folgenden Beispiel wird die Summe des Members aus dem Measures.[Order Quantity]Adventure Works-Cube zurückgegeben, der über die ersten acht Monate des Kalenderjahres 2003 aggregiert wurde, die in der Date Dimension enthalten sind.

WITH MEMBER [Date].[Calendar].[First8Months2003] AS  
    Aggregate(  
        PeriodsToDate(  
            [Date].[Calendar].[Calendar Year],   
            [Date].[Calendar].[Month].[August 2003]  
        )  
    )  
SELECT   
    [Date].[Calendar].[First8Months2003] ON COLUMNS,  
    [Product].[Category].Children ON ROWS  
FROM  
    [Adventure Works]  
WHERE  
    [Measures].[Order Quantity]  

Im folgenden Beispiel wird über die ersten zwei Monate des zweiten Semesters des Kalenderjahres 2003 aggregiert.

WITH MEMBER [Date].[Calendar].[First2MonthsSecondSemester2003] AS  
    Aggregate(  
        PeriodsToDate(  
            [Date].[Calendar].[Calendar Semester],   
            [Date].[Calendar].[Month].[August 2003]  
        )  
    )  
SELECT   
    [Date].[Calendar].[First2MonthsSecondSemester2003] ON COLUMNS,  
    [Product].[Category].Children ON ROWS  
FROM  
    [Adventure Works]  
WHERE  
    [Measures].[Order Quantity]  

Im folgenden Beispiel wird die Anzahl der Wiederverkäufer, deren Umsätze im vergangenen Zeitraum zurückgegangen sind, basierend auf vom Benutzer ausgewählten State-Province-Elementwerten zurückgegeben, die mit der Aggregate-Funktion ausgewertet wurden. Die Funktionen Hierarchize und DrillDownLevel werden verwendet, um Werte für rückläufige Umsätze für Produktkategorien in der Produktdimension zurückzugeben.

WITH MEMBER Measures.[Declining Reseller Sales] AS   
   Count(  
      Filter(  
         Existing(Reseller.Reseller.Reseller),   
            [Measures].[Reseller Sales Amount] < ([Measures].[Reseller Sales Amount],  
            [Date].Calendar.PrevMember)  
            )  
         )  
MEMBER [Geography].[State-Province].x AS   
   Aggregate (   
      {[Geography].[State-Province].&[WA]&[US],   
      [Geography].[State-Province].&[OR]&[US] }   
         )  
SELECT NON EMPTY Hierarchize (  
   AddCalculatedMembers (  
      {DrillDownLevel({[Product].[All Products]})}  
         )  
   )  
        DIMENSION PROPERTIES PARENT_UNIQUE_NAME ON COLUMNS   
FROM [Adventure Works]  
WHERE ([Geography].[State-Province].x,   
    [Date].[Calendar].[Calendar Quarter].&[2003]&[4],  
    [Measures].[Declining Reseller Sales])  

Weitere Informationen

PeriodsToDate (MDX)
Children (MDX)
Hierarchize (MDX)
Count (Menge) (MDX)
Filter (MDX)
AddCalculatedMembers (MDX)
DrilldownLevel (MDX)
Properties (MDX)
PrevMember (MDX)
MDX-Funktionsreferenz (MDX)