Top() avalia uma expressão na primeira linha (superior) de um segmento de coluna em uma tabela. A linha para a qual ela é calculada depende do valor de offset; se estiver presente, o padrão será a linha superior. Para gráficos que não sejam tabelas, a avaliação Top() é feita na primeira linha da coluna atual, no equivalente de tabela estática do gráfico.
Sintaxe:
Top([TOTAL] expr [ , offset [,count
]])
Tipo de dados de retorno: dual
Argumentos
Argumento
Descrição
expr
A expressão ou campo que contém os dados a serem medidos.
offset
Especificar um offset de n, maior que 1, move a avaliação da expressão para linhas n abaixo da linha superior.
Especificando um número de compensação negativa faz a função Top funcionar como a função Bottom com o número de compensação positiva correspondente.
count
Ao especificar um terceiro parâmetro count maior que 1, a função retornará uma série de valores count, um para cada count últimas linhas do segmento da coluna atual. Dessa forma, a função pode ser usada como um argumento para qualquer uma das funções de intervalo especiais. Funções de intervalo
TOTAL
Se a tabela for unidimensional ou se o qualificador TOTAL for usado como argumento, o segmento de coluna atual será sempre igual à coluna inteira.
Nota informativaUm segmento de coluna é definido como um subconjunto consecutivo de células que contêm os mesmos valores para as dimensões na ordem de classificação atual. As funções de inter-registro de gráficos são computadas no segmento de coluna, excluindo a dimensão mais à direita no gráfico de tabela simples equivalente. Se houver apenas uma dimensão no gráfico ou se o qualificador TOTAL for especificado, a expressão avalia a tabela completa.
Nota informativaSe a tabela ou o equivalente de tabela tiver várias dimensões verticais, o segmento de coluna atual incluirá somente linhas com os mesmos valores que a linha atual em todas as colunas de dimensão, exceto na coluna que mostrar a última dimensão na ordem de classificação entre os campos.
Limitações:
As chamadas recursivas retornarão NULL.
A classificação por valores y em gráficos ou por colunas de expressão em tabelas não é permitida quando essa função de gráfico é usada em qualquer uma das expressões do gráfico. Essas alternativas de classificação estão, portanto, automaticamente desabilitadas. Quando você usar essa função de gráfico em uma visualização ou tabela, a classificação da visualização será revertida para a entrada classificada dessa função.
Exemplo: expressões de gráfico
Exemplo
Resultado
Top( Sum(Sales) )
Retorna o valor de Sales para a primeira linha (superior) de um segmento de coluna em uma tabela.
Exemplo - Fundamentos de Top
Visão geral
Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova seção.
O script de carregamento contém:
Um conjunto de dados que é carregado em uma tabela de dados denominada Example.
Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esse campo como uma dimensão:
Year
Crie as seguintes medidas:
=Sum(Sales) para encontrar as vendas anuais.
=Top(Sum(Sales)) para encontrar o valor de vendas para o primeiro ano, que é a primeira linha (superior) de uma coluna em uma tabela.
=Sum(Sales) - Top(Sum(Sales)), para calcular a variação entre o valor da linha atual e o valor de Sales da primeira linha (superior) de uma coluna.
=Sum(Sales)-Top(Sum(Sales), 3) para calcular a variação entre o valor de vendas da linha atual e o valor da 3ª linha de cima para baixo.
=(Sales - Top(Sales)) / Top(Sales) para retornar a alteração em Sales como uma proporção/porcentagem em comparação com a primeira linha. Para mostrar esse valor como uma porcentagem, em Formatação de números, selecione Número > Formatação simples > 12,34%.
Classifique a tabela na dimensão Year em ordem crescente.
Tabela de resultados
Year
Sum(Sales)
Top(Sum(Sales))
Sum(Sales) - Top(Sum(Sales))
Sum(Sales)-Top(Sum(Sales), 3)
(Sales - Top(Sales)) / Top(Sales)
Totals
7200
1000
6200
6000
-
2019
1000
1000
0
-200
0.00%
2020
1500
1000
500
300
50.00%
2021
1200
1000
200
0
20.00%
2022
1800
1000
800
600
80.00%
2023
1700
1000
700
500
70.00%
Observando os resultados, você pode comparar os valores de Sales no período atual com o período superior (ou primeiro).
A medida Sum(Sales) - Top(Sum(Sales)) retorna a alteração nos valores de Sales, comparando o período atual com o primeiro período.
A medida Sum(Sales)-Top(Sum(Sales), 3) retorna a soma de Sales para a linha atual menos o terceiro período a partir do topo.
A medida =(Sales - Top(Sales)) / Top(Sales) retorna a alteração em Sales em comparação com o primeiro período como uma porcentagem.
Nota de dicaEssa função também pode ser usada para gráficos além de tabelas, como gráficos de barra.
Faça o seguinte:
Crie um gráfico de barras e adicione este campo como uma dimensão:
Year
Crie a seguinte medida:
=Sum(Sales)- Top(Sum(Sales)) para retornar a variação nas vendas entre o período atual e o período superior.
Gráfico de barras mostrando os resultados da função Top
O uso da função Top em um gráfico de barras fornece uma comparação visual da variação entre as vendas do período atual versus o período superior (ou primeiro).
Exemplo - Cenário de Top
Visão geral
Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova seção.
O script de carregamento contém:
Um conjunto de dados que é carregado em uma tabela de dados denominada Example.
Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esse campo como uma dimensão:
Customer
Crie as seguintes medidas:
=Sum(Sales) para calcular a soma das vendas.
=Top(Sum(Sales)) para mostrar a soma das vendas do Customer na linha superior.
=Sum(Sales)+Top(Sum(Sales)) para adicionar o valor de Sum(Sales) do Customer atual com o Customer na linha superior.
=Sum(Sales)+Top(Sum(Sales), 3) para adicionar o valor de Sum(Sales) do Customer atual com o valor do Customer que é o terceiro da linha superior.
Tabela de resultados
Customer
Sum(Sales)
Top(Sum(Sales))
Sum(Sales)+Top(Sum(Sales))
Sum(Sales)+Top(Sum(Sales), 3)
Totals
2566
587
3153
3249
Astrida
587
587
1174
1270
Betacab
539
587
1126
1222
Canutilty
683
587
1270
1366
Divadip
757
587
1344
1440
A medida Top(Sum(Sales)) retorna 587 para todas as linhas, porque esse é o valor da linha superior: Astrida.
Para a medida Sum(Sales)+Top(Sum(Sales)), a linha Betacab retorna 1126, que é o resultado da adição do valor de Sum(Sales) para Betacab e Astrida, o Customer na linha superior.
Para a medida Sum(Sales)+Top(Sum(Sales), 3), o argumento offset é definido como 3. A expressão adiciona o valor de Sum(Sales) para a linha atual e a terceira linha a partir da parte superior, Canutility. Por exemplo, o valor de 1440 é retornado para o cliente Divadip. Esse é o resultado da adição do valor de Sum(Sales) para Divadip e de SumSales para Canutility (757+683).