# 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

| 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/November2025/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/November2025/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.

Exemplo: expressões de gráfico

| Exemplo | Resultado |
| --- | --- |
| `Bottom( Sum(Sales) )` | Retorna o valor de `Sales` para a última linha (inferior) de um segmento de coluna em uma tabela. |

## Exemplo - Fundamentos de Bottom

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/bottom.htm)

#### Expressão de gráfico

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`.

* Os campos a seguir na tabela de dados:

  * `Year`

  * `Sales`

Script de carregamento

```
Example:
LOAD * INLINE [
Year, Sales
2019, 1000
2020, 1500
2021, 1200
2022, 1800
2023, 1700
];
```

Resultados

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.

* `=Bottom(Sum(Sales))` para encontrar o valor de vendas do último ano.

* `=Sum(Sales) - Bottom(Sum(Sales))` para calcular a variação entre o valor de `Sales` do ano atual e o valor do último ano.

* `=Sum(Sales)+Bottom(Sum(Sales), 3)` para calcular a soma do valor das vendas do ano corrente e do valor do antepenúltimo ano.

* `=(Sales - Bottom(Sales)) / Bottom(Sales)` para retornar a alteração em `Sales` como uma proporção/porcentagem em comparação com o ano anterior. Para mostrar esse valor como uma porcentagem, em Formatação de números, selecione Número &gt; Formatação simples &gt; 12,34%.

Classifique a tabela na dimensão `Year` em ordem crescente.

Tabela de resultados

| Year | Sum(Sales) | Bottom(Sum(Sales)) | Sum(Sales) - Bottom(Sum(Sales)) | Sum(Sales)+Bottom(Sum(Sales), 3) | (Sales - Bottom(Sales)) / Bottom(Sales) |
| --- | --- | --- | --- | --- | --- |
| Totals | 7200 | 1700 | 5500 | 8400 | - |
| 2019 | 1000 | 1700 | -700 | 2200 | -41.18% |
| 2020 | 1500 | 1700 | -200 | 2700 | -11.76% |
| 2021 | 1200 | 1700 | -500 | 2400 | -29.41% |
| 2022 | 1800 | 1700 | 100 | 3000 | 5.88% |
| 2023 | 1700 | 1700 | 0 | 2900 | 0.00% |

Observando os resultados, você pode comparar os valores de `Sales` do período atual com o último ou mais recente período.

* A medida `Sum(Sales) - Bottom(Sum(Sales))` retorna a alteração nos valores de `Sales`, comparando o período atual com o período mais recente.

* A medida `Sum(Sales)+Bottom(Sum(Sales), 3)` retorna a soma de `Sales` para a linha atual e o terceiro período mais recente.

* A medida `(Sales - Bottom(Sales)) / Bottom(Sales)` retorna a alteração em `Sales` em comparação com o período mais recente como 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) - Bottom(Sum(Sales))` para retornar a variação nas vendas entre o período atual e o período mais recente.

Gráfico de barras mostrando os resultados da função Bottom

Gráfico de barras mostrando os resultados da função Bottom

Gráfico de barras mostrando os resultados da função BottomBottom ![Gráfico de barras mostrando a variação nas vendas entre o período atual e o último período.](https://help.qlik.com/pt-BR/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-bottom-example.png)

O uso da função `Bottom` em um gráfico de barras fornece uma comparação visual da variação entre as vendas do período atual em comparação com o período mais recente.

## Exemplo - Cenário de Bottom

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/bottom.htm)

#### Expressão de gráfico

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`.

* Os campos a seguir na tabela de dados:

  * `OrderID`

  * `Product`

  * `SalesValue`

  * `OrderDate`

Script de carregamento

```
Example:
LOAD * INLINE [
OrderID, Product, SalesValue, OrderDate
1, "Product A", 500, '2023-01-10'
2, "Product B", 300, '2023-01-15'
3, "Product C", 450, '2023-02-01'
4, "Product D", 700, '2023-02-20'
5, "Product E", 350, '2023-03-05'
];
```

Resultados

Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esse campo como uma dimensão:

* `Product`

Crie as seguintes medidas:

* `=RangeAvg (Bottom(Sum(SalesValue),1,3))` para retornar a média das 3 linhas mais recentes.

* `=Sum(SalesValue) - RangeAvg (Bottom(Sum(SalesValue),1,3))` para calcular a variação entre a linha atual e a média das 3 linhas mais recentes.

* `=Sum(SalesValue)` para calcular o total de `SalesValue` para a linha atual.

Tabela de resultados

| Product | RangeAvg (Bottom(Sum(SalesValue),1,3)) | Sum(SalesValue) - RangeAvg (Bottom(Sum(SalesValue),1,3)) | Sum(SalesValue) |
| --- | --- | --- | --- |
| Totals | 500 | 1800 | 2300 |
| 2019 | 500 | 0 | 500 |
| 2020 | 500 | -200 | 300 |
| 2021 | 500 | -50 | 450 |
| 2022 | 500 | 200 | 700 |
| 2023 | 500 | -150 | 350 |

Os resultados mostram como você pode usar a combinação da função `RangeSum` e da função `Bottom` para analisar e comparar valores de vendas.

## Exemplo – Expressão de gráfico usando Bottom

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/bottom.htm)

#### Expressão de gráfico

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:

* Duas tabelas de dados chamadas `Monthnames` e `Sales2013`.

Script de carregamento

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

Resultados

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.

* `=Bottom(Sum(Sales))` para mostrar a soma das vendas do `Customer` na linha inferior.

* `=Sum(Sales)+Bottom(Sum(Sales))` para adicionar o valor de `Sum(Sales)` do `Customer` atual com o `Customer` na linha inferior.

* `=Sum(Sales)+Bottom(Sum(Sales), 3)` para adicionar o valor de `Sum(Sales)` do `Customer` atual com o valor do `Customer` que é o terceiro da linha inferior.

Tabela de resultados

| Customer | Sum(Sales) | Bottom(Sum(Sales)) | Sum(Sales)+Bottom(Sum(Sales)) | Sum(Sales)+Bottom(Sum(Sales), 3) |
| --- | --- | --- | --- | --- |
| Totals | 2566 | 757 | 3323 | 3105 |
| Astrida | 587 | 757 | 1344 | 1126 |
| Betacab | 539 | 757 | 1296 | 1078 |
| Canutilty | 683 | 757 | 1440 | 1222 |
| Divadip | 757 | 757 | 1514 | 1296 |

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

Para a medida `Sum(Sales)+Bottom(Sum(Sales))`, a linha `Astrida` retorna `1344`, que é o resultado da adição do valor de `Sum(Sales)` para `Astrida` e `Divadip`, o `Customer` na linha inferior.

Para a medida `Sum(Sales)+Bottom(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 inferior, `Betacab`. Por exemplo, o valor de `1126` é retornado para o cliente `Astrida`. Esse é o resultado da adição do valor de `Sum(Sales)` para `Astrida` e de `SumSales` para `Betacab` (`587`+`539`).

## Saiba mais

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