Top - função de gráfico
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.
Syntax:
Top([TOTAL] expr [ , offset [,count
]])
Return data type: dual
Arguments:
Argumentos
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 as 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.
Definindo o escopo de agregação
|
Nota: Um 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: Se 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.
Limitations:
As chamadas recursivas retornarão NULL.
Examples and results:
Example: 1
Na captura de tela da tabela mostrada neste exemplo, a visualização de tabela é criada da dimensão Customer e das medições: Sum(Sales) e Top(Sum(Sales)).
A coluna Top(Sum(Sales)) retorna 587 para todas as linhas, porque esse é o valor da primeira linha: Astrida.
A tabela também mostra medições mais complexas: uma criada a partir de Sum(Sales)+Top(Sum(Sales)) e uma rotulada como Top offset 3, que é criada usando a expressão Sum(Sales)+Top(Sum(Sales), 3) e tem o argumento offset definido como 3. Ela acrescenta o valor Sum(Sales) da linha atual ao valor da terceira linha a partir da linha superior, isto é, a linha atual mais o valor de Canutility.
Exemplo 1
Example: 2
Nas capturas de telas das tabelas mostradas neste exemplo, mais dimensões foram adicionadas às visualizações: Month e Product. Para gráficos com mais de uma dimensão, os resultados de expressões que contêm as funções Above, Below, Top e Bottom dependem da ordem em que as dimensões da coluna são classificadas pelo Qlik Sense. O Qlik Sense avalia as funções com base nos segmentos de coluna que resultam da dimensão que é classificada por último. A ordem de classificação da coluna é controlada no painel de propriedades em Classificação e não é necessariamente a ordem em que as colunas aparecem na tabela.
Primeira tabela para o Exemplo 2. O valor de Top para a medida de First value baseada em Month (Jan).
Segunda tabela para o Exemplo 2. O valor de Top para a medida de First value baseada em Product (AA para Astrida).
Consulte o exemplo: 2 na função Above para obter detalhes adicionais.
Exemplo 3
Example: 3
|
Resultado |
A função Top pode ser usada como entrada para as funções range. Por exemplo: RangeAvg (Top(Sum(Sales),1,3)).
|
Nos argumentos para a função Top(), offset é definido como 1 e count é definido como 3. A função encontra os resultados da expressão Sum(Sales) em três linhas, com a linha acima da linha inferior no segmento de coluna (porque offset=1) e as duas linhas acima (onde há uma linha). Estes três valores são usados como entrada para a função RangeAvg(), que encontra a média de valores na variação de números fornecidos.
Uma tabela com Customer como dimensão dá os seguintes resultados para a expressão RangeAvg().
|
|
Astrida
Betacab
Canutility
Divadip:
|
603
603
603
603
|
|
Monthnames:
LOAD *, Dual(MonthText,MonthNumber) as Month INLINE [
MonthText, MonthNumber
Jan, 1
Feb, 2
Mar, 3
Apr, 4
May, 5
Jun, 6
Jul, 7
Aug, 8
Sep, 9
Oct, 10
Nov, 11
Dec, 12
];
Sales2013:
Crosstable (MonthText, Sales) LOAD * inline [
Customer|Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec
Astrida|46|60|70|13|78|20|45|65|78|12|78|22
Betacab|65|56|22|79|12|56|45|24|32|78|55|15
Canutility|77|68|34|91|24|68|57|36|44|90|67|27
Divadip|57|36|44|90|67|27|57|68|47|90|80|94
] (delimiter is '|');