Funções de Agregação

As funções de agregação efetuam operações em vários valores para criarem resultados de resumo.

A lista seguinte descreve as regras de agregação que estão disponíveis para colunas e colunas de medidas. A lista também inclui as funções que pode utilizar ao criar itens calculados para análises.

  • Valor por Omissão — Aplica a regra de agregação por omissão como no modelo semântico ou do autor original da análise. Não disponível para itens calculados em análises.

  • Determinado pelo Servidor — Aplica a regra de agregação determinada pelo Oracle Analytics (tal como a regra definida no modelo semântico). A agregação é efetuada no Oracle Analytics para regras simples como Soma, Mín. e Máx. Não disponível para colunas de medidas no painel Disposição ou para itens calculados em análises.

  • Soma — Calcula a soma obtida através da adição de todos os valores no conjunto de resultados. Utilize para itens que têm valores numéricos.

  • Mín. — Calcula o valor mínimo (valor numérico mais baixo) das linhas no conjunto de resultados. Utilize para itens que têm valores numéricos.

  • Máx. — Calcula o valor máximo (valor numérico mais alto) das linhas no conjunto de resultados. Utilize para itens que têm valores numéricos.

  • Média — Calcula o valor médio (média) de um item no conjunto de resultados. Utilize para itens que têm valores numéricos. As médias nas tabelas e tabelas dinâmicas são arredondadas para o número inteiro mais próximo.

  • Primeiro — No conjunto de resultados, seleciona a primeira ocorrência do item para medidas. Para itens calculados, seleciona o primeiro membro de acordo com a apresentação na lista Selecionados. Não disponível na caixa de diálogo Editar Fórmula da Coluna.

  • Último — No conjunto de resultados, seleciona a última ocorrência do item. Para itens calculados, seleciona o último membro de acordo com a apresentação na lista Selecionados. Não disponível na caixa de diálogo Editar Fórmula da Coluna.

  • Contagem — Calcula o número de linhas no conjunto de resultados que têm um valor não nulo para o item. Normalmente, o item é um nome de coluna e, nesse caso, é devolvido o número de linhas com valores não nulos para essa coluna.

  • Contar Valores Distintos — Acrescenta processamento distinto à função Contagem, o que significa que cada ocorrência distinta do item é contada apenas uma vez.

  • Nenhuma — Não aplica qualquer agregação. Não disponível para itens calculados em análises.

  • Total Baseado no Relatório (quando aplicável) — Se não estiver selecionado, especifica que o Oracle Analytics deve calcular o total com base no conjunto de resultados completo, antes de aplicar quaisquer filtros às medidas. Não disponível na caixa de diálogo Editar Fórmula da Coluna ou para itens calculados em análises. Apenas disponível para colunas de atributos.

Função Exemplo Descrição Sintaxe

AGGREGATE AT

AGGREGATE(sales AT year)

Agrega as colunas com base no nível ou níveis na hierarquia do modelo de dados que especificar.

  • measure é o nome de uma coluna da medida.
  • level é o nível no qual pretende agregar.

Opcionalmente, pode especificar mais de um nível. Não pode especificar um nível a partir de uma dimensão com níveis que estão a ser utilizados como o nível da medida que especificou no primeiro argumento. Por exemplo, não pode escrever a função como AGGREGATE(yearly_sales AT month) se month for da mesma dimensão de tempo utilizada como nível de medida para yearly_sales.

AGGREGATE(measure AT level [, level1, levelN])

AGGREGATE BY AGGREGATE(sales BY month, region) Agrega uma medida com base numa ou mais colunas de dimensão.
  • measure é o nome de uma coluna da medida a agregar.

  • column é a coluna de dimensão na qual pretende agregar.
Pode agregar medidas com base em mais de uma coluna.
AGGREGATE(measure BY column [, column1, columnN])

AVG

Avg(Sales)

Calcula a média de um conjunto numérico de valores.

AVG(expr)

AVGDISTINCT

 

Calcula o valor médio (média) de todos os valores distintos de uma expressão.

AVG(DISTINCT expr)

BIN

BIN(revenue BY productid, year WHERE productid > 2 INTO 4 BINS RETURNING RANGE_LOW)

Classifica uma determinada expressão numérica num número especificado de intervalos com largura igual. A função pode devolver o número do agrupamento ou um dos dois endpoints do intervalo do agrupamento. numeric_expr é a medida ou atributo numérico para o agrupamento. BY grain_expr1,…, grain_exprN é uma lista de expressões que definem a granularidade em que numeric_expr é calculado. BY é obrigatório para as expressões da medida e é opcional para as expressões do atributo. WHERE um filtro para aplicar a numeric_expr antes de os valores numéricos serem atribuídos aos agrupamentos INTO number_of_bins BINS é o número de agrupamentos a devolver BETWEEN min_value AND max_value são os valores mínimo e máximo utilizados para os endpoints dos agrupamentos mais externos RETURNING NUMBER indica que o valor de retorno deve ser o número do agrupamento (1, 2, 3, 4, etc.). Este é o valor por omissão. RETURNING RANGE_LOW indica o valor inferior do intervalo do agrupamento RETURNING RANGE_HIGH indica o valor superior do intervalo do agrupamento

BIN(numeric_expr [BY grain_expr1, ..., grain_exprN] [WHERE condition] INTO number_of_bins BINS [BETWEEN min_value AND max_value] [RETURNING {NUMBER | RANGE_LOW | RANGE_HIGH}])

BottomN

 

Classifica os valores n mais baixos do argumento de expressão de 1 para n, sendo que 1 corresponde ao valor numérico mais baixo.

expr é qualquer expressão que resulta num valor numérico. integer é qualquer número inteiro positivo. Representa o número inferior de classificações apresentadas no conjunto de resultados, sendo 1 a classificação mais baixa.

BottomN(expr, integer)

COUNT

COUNT(Products)

Determina o número de itens com um valor não nulo.

COUNT(expr)

COUNTDISTINCT

 

Acrescenta processamento distinto à função COUNT.

expr é qualquer expressão.

COUNT(DISTINCT expr)

COUNT*

SELECT COUNT(*) FROM Facts

Conta o número de linhas.

COUNT(*)

Primeiro

First(Sales)

Seleciona o primeiro valor não nulo devolvido do argumento da expressão. A função First opera ao nível mais detalhado especificado na dimensão definida explicitamente.

First([NumericExpression)]

Último

Last(Sales)

Seleciona o último valor não nulo devolvido da expressão.

Last([NumericExpression)]

MAVG

 

Calcula uma média móvel (média) para as últimas n linhas de dados no conjunto de resultados, incluindo a linha atual.

expr é qualquer expressão que resulta num valor numérico. integer é qualquer número inteiro positivo. Representa a média das últimas n linhas de dados.

MAVG(expr, integer)

MAX

MAX(Revenue)

Calcula o valor máximo (valor numérico mais alto) das linhas que satisfazem o argumento da expressão numérica.

MAX(expr)

MEDIAN

MEDIAN(Sales)

Calcula o valor mediano (intermédio) das linhas que satisfazem o argumento da expressão numérica. Quando existe um número par de linhas, o mediano é a média das duas linhas do meio. Esta função devolve sempre um duplo.

MEDIAN(expr)

MIN

MIN(Revenue)

Calcula o valor mínimo (valor numérico mais baixo) das linhas que satisfazem o argumento da expressão numérica.

MIN(expr)

NTILE

 

Determina a classificação de um valor em termos de um intervalo especificado por um utilizador. Devolve números inteiros para representar um intervalo de classificações. NTILE com numTiles=100 devolve o que é normalmente denominado de "percentil" (com números de 1 a 100, em que 100 representa o limite superior da ordenação).

expr é qualquer expressão que resulta num valor numérico. numTiles é um número inteiro positivo não nulo que representa o número de mosaicos.

NTILE(expr, numTiles)

PERCENTILE

 

Calcula uma classificação de percentil para cada valor que satisfaça o argumento da expressão numérica. Os intervalos de classificações de percentil são entre 0 (percentil 0) a 1 (percentil 100).

expr é qualquer expressão que resulta num valor numérico.

PERCENTILE(expr)

RANK

RANK(chronological_key, null, year_key_columns)

Calcula a classificação de cada valor que satisfaz o argumento da expressão numérica. Ao número mais alto é atribuída a classificação de 1 e a cada classificação sucessiva é atribuído o próximo número inteiro consecutivo (2, 3, 4,...). Se determinados valores forem iguais, são atribuídos à mesma classificação (por exemplo, 1, 1, 1, 4, 5, 5, 7...).

expr é qualquer expressão que resulta num valor numérico.

RANK(expr)

STDDEV

STDDEV(Sales) STDDEV(DISTINCT Sales)

Devolve o desvio padrão de um conjunto de valores. O tipo devolvido é sempre um duplo.

STDDEV(expr)

STDDEV_POP

STDDEV_POP(Sales) STDDEV_POP(DISTINCT Sales)

Devolve o desvio padrão de um conjunto de valores através da utilização da fórmula computacional para variância completa e desvio padrão.

STDDEV_POP([NumericExpression])

SUM

SUM(Revenue)

Calcula a soma obtida através da adição de todos os valores que satisfazem o argumento da expressão numérica.

SUM(expr)

SUMDISTINCT

 

Calcula a soma obtida através da adição de todos os valores distintos que satisfazem o argumento da expressão numérica.

expr é qualquer expressão que resulta num valor numérico.

SUM(DISTINCT expr)

TOPN

 

Classifica os valores n mais elevados do argumento de expressão de 1 para n, sendo que 1 corresponde ao valor numérico mais elevado.

expr é qualquer expressão que resulta num valor numérico. integer é qualquer número inteiro positivo. Representa o número superior de classificações apresentadas no conjunto de resultados, sendo 1 a classificação mais alta.

TOPN(expr, integer)

Sugestões sobre a Utilização de Funções de Agregação

Seguem-se algumas sugestões sobre como obter os melhores resultados ao utilizar funções de agregação nos seus livros.

Sugestões:

  • First, Last. Evite utilizar as agregações Primeiro e Último com um tipo de diagrama de barras empilhadas a 100%. Acrescentar a data atual a By acrescenta granularidade à consulta, que extrai todas as linhas para a visualização mais a data atual. A função Last devolve a última linha nesse conjunto de resultados, que varia consoante a forma como os dados são devolvidos a partir da origem.
  • Min - Utilize Min para calcular o valor mais pequeno num conjunto de linhas. Para encontrar o valor mais pequeno num conjunto de colunas, utilize Evaluate. Por exemplo:

    evaluate('least(%1,%2,%3)',column date 1,date 2,date 3)