# Bottom - função de gráfico

Bottom() avalia uma expressão na última linha (inferior) de um segmento de coluna em uma tabela. A linha para a qual ela é calculada depende do valor de offset, se presente, sendo o valor padrão a linha inferior. Para gráficos que não sejam tabelas, a avaliação é feita na última linha da coluna atual, no equivalente de tabela estática do gráfico.

Sintaxe:

Bottom([TOTAL] expr [ , offset [,count ]])

Tipo de dados de retorno: dual

Argumentos:

Argumentos

| Argumento | Descrição |
| --- | --- |
| expr | A expressão ou campo que contém os dados a serem medidos. |
| offset | Especificar um offset n maior que 1 move a avaliação da expressão n linhas acima da linha inferior.<br><br>Especificando um número de compensação negativa faz a função Bottom funcionar como a função Top com o número de compensação positiva correspondente. |
| count | Ao especificar um terceiro parâmetro count maior que 1, a função retornará não um, mas uma série de valores count, um para cada uma das últimas linhas count 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](https://help.qlik.com/pt-BR/sense/May2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/RangeFunctions/RangeFunctionsInCharts.htm) |
| 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.<br><br>[Definindo o escopo de agregação](https://help.qlik.com/pt-BR/sense/May2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

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.

Exemplos e resultados:

Visualização de tabela para o Exemplo 1

![Visualização de tabela para o Exemplo 1.](https://help.qlik.com/pt-BR/sense/May2025/Subsystems/Hub/Content/Resources/Images/ui_gen_BottomFunction1.png)

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 `Bottom(Sum(Sales))`.

A coluna Bottom(Sum(Sales)) retorna 757 para todas as linhas, porque esse é o valor da linha inferior: Divadip.

A tabela também mostra medições mais complexas: uma criada a partir de `Sum(Sales)+Bottom(Sum(Sales))` e uma rotulada como Bottom offset 3, que é criada usando a expressão `Sum(Sales)+Bottom(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 inferior, isto é, a linha atual mais o valor de Betacab.

Exemplo: 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.

Na primeira tabela, a expressão é avaliada com base no Month, e na segunda tabela é avaliada com base no Product. A medição End value contém a expressão `Bottom(Sum(Sales))`. A linha inferior de Month é Dec e o valor de Dec dos dois valores de Product mostrados na captura de tela é 22. (Algumas linhas foram editadas da captura de tela para economia de espaço.)

Primeira tabela para o Exemplo 2. O valor de Bottom para a medida de End value baseada em Month (Dec).

![Primeira tabela para o Exemplo 2.](https://help.qlik.com/pt-BR/sense/May2025/Subsystems/Hub/Content/Resources/Images/ui_gen_BottomFunction3.png)

Segunda tabela para o Exemplo 2. O valor de Bottom para a medida de End value baseada em Product (BB para Astrida).

![Segunda tabela para o Exemplo 2.](https://help.qlik.com/pt-BR/sense/May2025/Subsystems/Hub/Content/Resources/Images/ui_gen_BottomFunction2.png)

Consulte o Exemplo: 2 na função Above para obter detalhes adicionais.

Exemplo 3

| Exemplo: 3 | Resultado |
| --- | --- |
| A função Bottom pode ser usada como entrada para as funções range. Por exemplo: `RangeAvg<br>(Bottom(Sum(Sales),1,3))`. | Nos argumentos para a função Bottom(), 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.<br><br>Uma tabela com Customer como dimensão dá os seguintes resultados para a expressão RangeAvg(). |
|  | <table><colgroup><col><col></colgroup><tr><td><p><span>Astrida</span></p><p><span>Betacab</span></p><p><span>Canutility</span></p><p><span>Divadip</span>:</p></td><td><p>659.67</p><p>659.67</p><p>659.67</p><p>659.67</p></td></tr></table> |

```
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 '|');
```

## Saiba mais

* [Top - função de gráfico](https://help.qlik.com/pt-BR/sense/May2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/top.htm)