Agrégat (MDX)

Rend un nombre calculé en agrégeant sur les cellules retournées par l’expression de l’ensemble. Si aucune expression numérique n’est fournie, cette fonction agrège chaque mesure dans le contexte de requête courant en utilisant l’opérateur d’agrégation par défaut spécifié pour chaque mesure. Si une expression numérique est fournie, cette fonction évalue d’abord, puis additionne, l’expression numérique pour chaque cellule de l’ensemble spécifié.

Syntax

  
Aggregate(Set_Expression [ ,Numeric_Expression ])  

Arguments

Set_Expression
Une expression valide des expressions multidimensionnelles (MDX) qui retourne un ensemble.

Numeric_Expression
Une expression numérique valide qui est typiquement une expression d’expressions multidimensionnelles (MDX) des coordonnées de la cellule qui retournent un nombre.

Remarks

Si un ensemble de tuples vides ou un ensemble vide est spécifié, cette fonction retourne une valeur vide.

Le tableau suivant décrit comment la fonction Agrégat se comporte avec différentes fonctions d’agrégation.

Opérateur d’agrégation Résultat
Somme Retourne la somme des valeurs sur l’ensemble.
Nombre Retourne le nombre de valeurs sur l’ensemble.
Max Rend la valeur maximale sur l’ensemble.
Min Retourne la valeur minimale sur l’ensemble.
Fonctions d’agrégation semi-additives Retourne le calcul du comportement semi-additif sur l’ensemble après projection de la forme sur l’axe du temps.
Compte distinct Agrége les données de fait contribuant au sous-cube lorsque l’axe du trancheur inclut un ensemble.

Retourne le compte distinct pour chaque membre de l’ensemble. Le résultat dépend de la sécurité des cellules agrégées, et non de celle des cellules requises pour le calcul. La sécurité cellulaire sur l’ensemble génère une erreur ; La sécurité des cellules en dessous de la granularité de l’ensemble spécifié est ignorée. Les calculs sur l’ensemble génèrent une erreur. Les calculs en dessous de la granularité de l’ensemble sont ignorés. Un compte distinct sur un ensemble qui inclut un membre et un ou plusieurs de ses enfants renvoie le compte distinct entre les faits contribuant au membre enfant.
Attributs qui ne peuvent pas être agrégés Retourne la somme des valeurs.
Fonctions d’agrégation mixte Non supporté, et cela entraîne une erreur.
Opérateurs unaires Pas respecté ; les valeurs sont agrégées par somme.
Mesures calculées Résoudre l’ordre de jeu pour s’assurer que la mesure calculée s’applique.
Membres calculés Les règles normales s’appliquent, c’est-à-dire que le dernier ordre de résolution a la priorité.
Devoirs Les affectations s’agrégent selon la fonction d’agrégation des mesures. Si la fonction d’agrégation des mesures est un compte distinct, l’affectation est additionnée.

Exemples

L’exemple suivant retourne la somme des Measures.[Order Quantity] membres, agrégés sur les huit premiers mois de l’année civile 2003 contenus dans la Date dimension, provenant du cube Adventure Works .

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]  

L’exemple suivant regroupe les deux premiers mois du deuxième semestre de l’année civile 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]  

L’exemple suivant restitue le nombre de revendeurs dont les ventes ont diminué sur la période précédente, basé sur les valeurs de State-Province membres sélectionnées par l’utilisateur et évaluées à l’aide de la fonction Aggregate. Les fonctions Hiérarchisée et DrillDownLevel sont utilisées pour retourner les valeurs des ventes en baisse pour les catégories de produits dans la dimension Produit.

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