Agregado (MDX)

Retorna um número calculado agregando sobre as células retornadas pela expressão do conjunto. Se uma expressão numérica não for fornecida, essa função agrega cada medida dentro do contexto atual da consulta usando o operador de agregação padrão especificado para cada medida. Se uma expressão numérica for fornecida, essa função primeiro avalia e depois soma a expressão numérica para cada célula do conjunto especificado.

Sintaxe

  
Aggregate(Set_Expression [ ,Numeric_Expression ])  

Argumentos

Set_expression
Uma expressão válida de Expressões Multidimensionais (MDX) que retorna um conjunto.

Numeric_Expression
Uma expressão numérica válida que normalmente é uma expressão de Expressões Multidimensionais (MDX) de coordenadas de célula que retornam um número.

Remarks

Se um conjunto de tuplas vazias ou um conjunto vazio for especificado, essa função retorna um valor vazio.

A tabela a seguir descreve como a função Agregado se comporta com diferentes funções de agregação.

Operador de agregação Result
Soma Retorna a soma dos valores sobre o conjunto.
Count Retorna a contagem de valores sobre o conjunto.
Max Retorna o valor máximo sobre o conjunto.
Min Retorna o valor mínimo sobre o conjunto.
Funções de agregação semiaditiva Retorna o cálculo do comportamento semiaditivo sobre o conjunto após projetar a forma no eixo do tempo.
Contagem distinta Agrega dados de fato que contribuem para o subcubo quando o eixo do fatiador inclui um conjunto.

Retorna a contagem distinta para cada membro do conjunto. O resultado depende da segurança das células que estão sendo agregadas, e não da segurança das células necessárias para o cálculo. A segurança celular no conjunto gera um erro; a segurança das células abaixo da granularidade do conjunto especificado é ignorada. Os cálculos no conjunto geram um erro. Cálculos abaixo da granularidade do conjunto são ignorados. A contagem distinta sobre um conjunto que inclui um membro e um ou mais de seus filhos retorna a contagem distinta entre fatos que contribuem para o membro criança.
Atributos que não podem ser agregados Retorna a soma dos valores.
Funções de agregação mistas Não suportado, e gera um erro.
Operadores unários Não respeitado; os valores são agregados por soma.
Medidas calculadas Conjunto de ordem de resolução para garantir que a medida calculada se aplique.
Membros calculados Regras normais se aplicam, ou seja, a última ordem de resolução tem prioridade.
Atribuições As atribuições se agregam de acordo com a função de agregação de medidas. Se a função de agregação de medidas for contagem distinta, a atribuição é somada.

Exemplos

O exemplo a seguir retorna a soma dos Measures.[Order Quantity] membros, agregados nos primeiros oito meses do ano civil de 2003 contidos na Date dimensão, do 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]  

O exemplo a seguir agrega os dois primeiros meses do segundo semestre do ano civil 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]  

O exemplo a seguir retorna a contagem dos revendedores cujas vendas caíram no período anterior, com base nos valores de State-Province membros selecionados pelo usuário e avaliados usando a função Agregado. As funções Hierarchize e DrillDownLevel são usadas para retornar valores de vendas em declínio para categorias de produtos na dimensão Produto.

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