Ir para conteúdo principal

Above - função de gráfico

NESTA PÁGINA

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.

Syntax:  

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

Return data type: dual

Arguments:  

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.

A especificação de um deslocamento igual a 0 avaliará a expressão na linha atual.

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.

In this form, the function can be used as an argument to any of the special range functions. 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

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

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:  

Visualização de tabela para o Exemplo 1

Table visualization for 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 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').

Dica: Essa função também pode ser usada para gráficos além de tabelas, como gráficos de barra.
Dica: Para 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.

Example 2:  

Nas capturas de telas das tabelas mostradas neste exemplo, mais dimensões foram adicionadas às visualizações: Month e Product. For charts with more than one dimension, the results of expressions containing the Above, Below, Top, and Bottom functions depend on the order in which the column dimensions are sorted by Qlik Sense. Qlik Sense evaluates the functions based on the column segments that result from the dimension that is sorted last. The column sort order is controlled in the properties panel under Sorting and is not necessarily the order in which the columns appear in a table.

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

Table visualization for Example 2.

Example 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

Table visualization for Example 3.

Exemplo 4

Example 4:  

Resultado

A função Above pode ser usada como entrada para as funções range. Por exemplo: RangeAvg (Above(Sum(Sales),1,3)).

Nos argumentos da função Above(), offset é definido como 1 e count é definido como 3. A função encontra os resultados da expressão Sum(Sales) 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 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:

-

587

563

603

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