Aggregaat (MDX)

Geeft een getal terug dat wordt berekend door te aggregeren over de cellen die door de set-expressie worden teruggegeven. Als er geen numerieke expressie wordt gegeven, aggregeert deze functie elke maat binnen de huidige querycontext door gebruik te maken van de standaard aggregatie-operator die voor elke maat is gespecificeerd. Als een numerieke expressie wordt gegeven, evalueert deze functie eerst de numerieke expressie voor elke cel in de gespecificeerde verzameling en somt die vervolgens op.

Syntax

  
Aggregate(Set_Expression [ ,Numeric_Expression ])  

Arguments

Set_expressie
Een geldige Multidimensionale Expressies (MDX) expressie die een verzameling teruggeeft.

Numeric_Expression
Een geldige numerieke uitdrukking die doorgaans een Multidimensional Expressions (MDX) uitdrukking is van celcoördinaten die een getal teruggeven.

Remarks

Als een verzameling lege tuples of een lege verzameling wordt gespecificeerd, geeft deze functie een lege waarde terug.

De volgende tabel beschrijft hoe de Aggregate-functie zich gedraagt met verschillende aggregatiefuncties.

Aggregatie-operator Resultaat
Som Geeft de som van de waarden over de verzameling terug.
Aantal Geeft het aantal waarden over de verzameling terug.
Max Geeft de maximale waarde terug over de verzameling.
Min Geeft de minimale waarde terug over de verzameling.
Semi-additieve aggregatiefuncties Geeft de berekening van semi-addititief gedrag over de verzameling terug nadat de vorm op de tijdsas is geprojecteerd.
Uniek aantal Aggregeert over de feitengegevens die bijdragen aan de subkubus wanneer de sliceras een verzameling bevat.

Geeft het verschillende aantal terug voor elk lid van de set. Het resultaat hangt af van de beveiliging van de cellen die worden geaggregeerd, en niet van de beveiliging van de cellen die nodig zijn voor de berekening. Celbeveiliging op de set veroorzaakt een fout; celbeveiliging onder de granulariteit van de gespecificeerde set wordt genegeerd. Berekeningen op de set genereren een fout. Berekeningen onder de granulariteit van de verzameling worden genegeerd. Een onderscheiden telling over een set die een lid en een of meer van zijn kinderen bevat, geeft de verschillende telling terug over feiten die bijdragen aan het kindlid.
Attributen die niet kunnen worden geaggregeerd Geeft de som van de waarden terug.
Gemengde aggregatiefuncties Niet ondersteund, en het geeft een foutmelding.
Unaire operators Niet gerespecteerd; Waarden worden geaggregeerd door het optellen.
Berekende metingen Los de orderset op om te zorgen dat de berekende maat van toepassing is.
Berekende leden Normale regels gelden, dat wil zeggen, de laatste oplosvolgorde heeft voorrang.
Assignments Toewijzingen aggregeren volgens de aggregatiefunctie van de maat. Als de aggregatiefunctie van de maat een aparte telling is, wordt de toewijzing opgeteld.

Examples

Het volgende voorbeeld geeft de som van het Measures.[Order Quantity] lid, geaggregeerd over de eerste acht maanden van het kalenderjaar 2003 die in de Date dimensie zijn opgenomen, terug uit de Adventure Works-kubus .

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]  

Het volgende voorbeeld is een overzicht van de eerste twee maanden van het tweede semester van het kalenderjaar 2003.

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]  

Het volgende voorbeeld geeft het aantal wederverkopers van wie de verkoop in de vorige periode is gedaald, op basis van door de gebruiker geselecteerde State-Province ledenwaarden geëvalueerd met de Aggregate-functie. De functies Hierarchize en DrillDownLevel worden gebruikt om waarden terug te geven voor dalende omzet voor productcategorieën in de productdimensie.

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])