# Above - função de gráfico

Above() avalia uma expressão na linha acima da linha atual dentro 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 diretamente acima. Para gráficos que não sejam tabelas, Above() avalia a linha acima da linha atual, na tabela estática equivalente do gráfico.

Sintaxe:

Above([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 offsetn, maior que 0 move a avaliação da expressão n para linhas acima da linha atual.<br><br>A especificação de um deslocamento igual a 0 avaliará a expressão na linha atual.<br><br>Especificando um número de compensação negativa faz a função Above funcionar como a função Below com o número de compensação positiva correspondente. |
| count | Ao especificar um terceiro argumento count maior que 1, a função retornará uma série de valores count, um para cada linha da tabela count, contado para cima a partir da célula original.<br><br>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) |

Na primeira linha de um segmento de coluna, um valor NULL é retornado, já que não há uma linha acima dela.

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:

Exemplo 1:

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

A coluna Above(Sum(Sales)) retorna NULL para a linha Customer contendo Astrida, porque não há nenhuma linha acima dela. O resultado para a linha Betacab mostra o valor de Sum(Sales) para Astrida, o resultado para Canutility mostra o valor para Sum(Sales) para Betacab e assim por diante.

Para a coluna rotulada Sum(Sales)+Above(Sum(Sales)), a linha para Betacab mostra o resultado da soma dos valores Sum(Sales) para as linhas Betacab + Astrida (539+587). O resultado da linha Betacab mostra o resultado da soma dos valores Sum(Sales) para Canutility + Canutility (683+539).

A medição rotulada Above offset 3 criada usando a expressão `Sum(Sales)+Above(Sum(Sales), 3)` tem o argumento offset, definido como 3 e tem o efeito de obter o valor na linha três linhas acima da linha atual. Ele soma o valor Sum(Sales) para o atual Customer ao valor Customertrês linhas acima. Os valores retornados para as três primeiras linhas Customer são null.

A tabela também mostra medidas mais complexas: uma criada a partir de `Sum(Sales)+Above(Sum(Sales))` e uma rotulada como Higher?, que é criada a partir de `IF(Sum(Sales)>Above(Sum(Sales)), 'Higher')`.

Nota de dicaEssa função também pode ser usada para gráficos além de tabelas, como gráficos de barra.

Nota de dicaPara outros tipos de gráficos, converta o gráfico para o equivalente de tabela simples, para que você possa interpretar facilmente a qual linha a função está relacionada.

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.

A expressão que contém a função Above é avaliada dependendo da dimensão que é classificada por último (conforme definido em Classificação).

Na captura de tela a seguir da visualização de tabela do Exemplo 2, a última dimensão classificada é Month; portanto a função Above avalia com base em meses. Há uma série de resultados para cada valor Product para cada mês (Jan a Aug) – um segmento de coluna. Isso é seguido por uma série para o próximo segmento da coluna: para cada Month para o próximo Product. Haverá um segmento da coluna para cada valor Customer para cada Product.

Visualização de tabela para o Exemplo 2

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

Exemplo 3:

Na captura de tela da visualização de tabela para o Exemplo 3, a última dimensão classificada é Product. Isto é feito movendo a dimensão Product para a posição 3 na guia Classificação do painel de propriedades. A função Above é avaliada para cada Product, e como existem apenas dois produtos, AA e BB, há apenas um resultado não "null" em cada série. Na linha BB para o mês Jan, o valor para Above(Sum(Sales)), é 46. Para a linha AA, o valor é null. O valor em cada linha AA para qualquer mês será sempre null, porque não há valor de Product acima de AA. A segunda série é avaliada emAA e BB para o mês Feb para o valor Customer, Astrida. Quando todos os meses forem avaliados para Astrida, a sequência será repetida para o segundo CustomerBetacab e assim por diante.

Visualização de tabela para o Exemplo 3

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

Exemplo 4

| Exemplo 4: | Resultado |
| --- | --- |
| A função Above pode ser usada como entrada para as funções range. Por exemplo: `RangeAvg<br>(Above(Sum(Sales),1,3))`. | <table><colgroup><col></colgroup><tr><td><p>Nos argumentos da função <span>Above()</span>, <span>offset</span> é definido como 1 e <span>count</span> é definido como 3. A função encontra os resultados da expressão <span>Sum(Sales)</span> nas três linhas imediatamente acima da linha atual no segmento da coluna (onde há uma linha). Estes três valores são usados como entrada para a função <span>RangeAvg()</span>, que encontra a média de valores na variação de números fornecidos.</p><p>Uma tabela com <span>Customer</span> como dimensão dá os seguintes resultados para a expressão <span>RangeAvg()</span>.</p></td></tr><tr><td><div><div><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>-</p><p>587</p><p>563</p><p>603</p></td></tr></table></div></div></td></tr></table> |

Dados usados nos exemplos:

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

* [Below - função de gráfico](https://help.qlik.com/pt-BR/sense/May2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/below.htm)
* [Bottom - função de gráfico](https://help.qlik.com/pt-BR/sense/May2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/bottom.htm)
* [Top - função de gráfico](https://help.qlik.com/pt-BR/sense/May2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/top.htm)
* [RangeAvg – função de script e gráfico](https://help.qlik.com/pt-BR/sense/May2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/RangeFunctions/rangeavg.htm)