Partilhar via


Função Aggregate (MDX)

Retorna um número que é calculado com a agregação nas células retornadas pela expressão de conjunto. Se uma expressão numérica não for fornecida, essa função agregará cada medida no contexto atual de consulta usando o operador padrão de agregação especificado para cada medida. Se uma exressão numérica for fornecida, essa função primeiro avalia e, em seguida, soma a expressão numérica de cada célula no conjunto especificado.

Sintaxe

  
Aggregate(Set_Expression [ ,Numeric_Expression ])  

Argumentos

Set_Expression
Uma expressão MDX válida que retorna um conjunto.

Numeric_expression
Uma expressão numérica válida, geralmente uma linguagem MDX de coordenadas de célula, que retorna um número.

Comentários

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

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

Operador de agregação Result
Somar Retorna a soma dos valores no conjunto.
Contagem Retorna a contagem dos valores no conjunto.
Max Retorna o valor máximo no conjunto.
Min Retorna o valor mínimo no conjunto.
Funções de agregação semiaditivas Retorna o cálculo de comportamento semiaditivo no conjunto depois de projetar a forma no eixo de tempo.
Contagem Distinta Faz agregações nos dados de fatos que contribuem com o subcubo quando o eixo do slicer 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 obrigatórias para o cálculo. A segurança de célula no conjunto gera um erro; a segurança de célula abaixo da granularidade do conjunto especificado é ignorada. Os cálculos no conjunto geram um erro. Os cálculos abaixo da granularidade do conjunto são ignorados. A contagem distinta em um conjunto que inclui um membro e um ou mais filhos retorna a contagem distinta dos fatos que contribuem com o membro filho.
Atributos que não podem ser agregados Retorna a soma dos valores.
Funções de agregação mista Sem suporte e gera um erro.
Operadores unários Não respeitados; os valores são agregados pela adição.
Medidas calculadas A ordem de resolução é definida para assegurar a adequação da medida calculada.
Membros calculados Regras normais se aplicam, quer dizer, a última ordem de resolução tem prioridade.
Atribuições As atribuições são agregadas de acordo com a função de agregação de medida. Se a função de agregação de medida for uma contagem distinta, a atribuição será somada.

Exemplos

O exemplo a seguir retorna a soma do Measures.[Order Quantity] membro, agregada 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 mostra a agregação durante os primeiros dois meses do segundo semestre do ano calendário 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 ao longo do período anterior, com base em valores de Estado do membro, selecionados pelo usuário, avaliados usando a função Aggregate. As funções Hierarchize e DrillDownLevel são usadas para retornar valores para 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])  

Consulte Também

PeriodsToDate (MDX)
Children (MDX)
Hierarquize (MDX)
Count (Conjunto) (MDX)
Filter (MDX)
AddCalculatedMembers (MDX)
DrilldownLevel (MDX)
Properties (MDX)
PrevMember (MDX)
Referência de função MDX (MDX)