Aggregate (MDX)

Devuelve un número que se calcula al agregar las celdas devueltas por la expresión establecida. Si no se proporciona una expresión numérica, esta función agrega cada medida del contexto de consulta actual mediante el operador de agregación predeterminado especificado para cada medida. Si se proporciona una expresión numérica, esta función primero evalúa y después suma la expresión numérica de cada celda del conjunto especificado.

Sintaxis

  
Aggregate(Set_Expression [ ,Numeric_Expression ])  

Argumentos

Set_Expression
Expresión MDX (Expresiones multidimensionales) válida que devuelve un conjunto.

Numeric_Expression
Expresión numérica válida que suele ser una expresión MDX de las coordenadas de celdas que devuelven un número.

Comentarios

Si se especifica un conjunto de tuplas vacías o un conjunto vacío, esta función devuelve un valor vacío.

En la tabla siguiente se describe cómo se comporta la función Aggregate con diferentes funciones de agregación.

Operador de agregación Resultado
Sum Devuelve la suma de valores del conjunto.
Count Devuelve el recuento de valores del conjunto.
Max Devuelve el valor máximo del conjunto.
Min Devuelve el valor mínimo del conjunto.
Funciones de agregación de suma parcial Devuelve el cálculo de comportamiento de suma parcial del conjunto después de proyectar la forma al eje de tiempo.
Distinct Count Agrega todos los datos de hechos que contribuyen al subcubo cuando el eje segmentador incluye un conjunto.

Devuelve el recuento distintivo de cada miembro del conjunto. El resultado depende de la seguridad de las celdas que se agregan y no de la seguridad de las celdas necesarias para el cálculo. La seguridad de celda del conjunto genera un error; la seguridad de celda por debajo de la granularidad del conjunto especificado se omite. Los cálculos en el conjunto generan un error. Los cálculos por debajo de la granularidad del conjunto se omiten. El recuento distintivo en un conjunto que incluye un miembro y uno o más de sus elementos secundarios devuelve el recuento distintivo de todos los hechos que contribuyen al miembro secundario.
Atributos que no pueden agregarse. Devuelve la suma de los valores.
Funciones de agregación combinada No es compatible y genera un error.
Operadores unarios No se respetan; los valores se agregan mediante la suma.
Medidas calculadas Conjunto de orden de resolución para garantizar la aplicación de la medida calculada.
Miembros calculados Se aplican las reglas normales, es decir, la última orden de resolución tiene prioridad.
Assignments Las asignaciones se agregan de acuerdo con la función de agregación de medida. Si la función de agregación de medida es un recuento distintivo, se suma la asignación.

Ejemplos

En el ejemplo siguiente se devuelve la suma del Measures.[Order Quantity] miembro, agregado durante los primeros ocho meses del año natural 2003 contenidos en la Date dimensión, desde el cubo 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]  

El ejemplo siguiente agrega en los primeros dos meses del segundo semestre de 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]  

El ejemplo siguiente devuelve el recuento de los distribuidores cuyas ventas han disminuido en el período de tiempo anterior, de acuerdo con los valores de los miembros State-Province seleccionados por el usuario evaluados mediante la función Aggregate. Las funciones Hierarchize y DrillDownLevel se usan para devolver valores para disminuir las ventas de las categorías de productos en la dimensión Product.

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

Consulte también

PeriodsToDate (MDX)
Children (MDX)
Hierarchize (MDX)
Count (Set) (MDX)
Filter (MDX)
AddCalculatedMembers (MDX)
DrilldownLevel (MDX)
Properties (MDX)
PrevMember (MDX)
Referencia de funciones MDX (MDX)