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:
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. 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. |
Na primeira linha de um segmento de coluna, um valor NULL é retornado, já que não há uma linha acima dela.
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:
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').
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 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.
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.
Exemplo 4: |
Resultado | ||||
---|---|---|---|---|---|
A função Above pode ser usada como entrada para as funções range. Por exemplo: RangeAvg (Above(Sum(Sales),1,3)). |
|
Dados usados nos exemplos: