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 para as linhas n acima da linha inferior.

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

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.

Consulte: Definindo o escopo de agregação

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.

Limitações:  

As chamadas recursivas retornarão NULL.

Exemplos e resultados:  

Exemplo: 1

Customer Sum(Sales) Bottom(Sum(Sales)) Sum(Sales) + Bottom(Sum(Sales)) Bottom offset 3
  2566 757 3323 3105
Astrida 587 757 1344 1126
Betacab 539 757 1296 1078
Canutility 683 757 1440 1222
Divadip 757 757 1514 1296
Gráfico de tabela para o Exemplo 1.

Na representação do gráfico da tabela mostrada neste exemplo, a tabela é criada a partir da dimensão Customer e das medições: Sum(Sales) e Bottom(Sum(Sales)).

A coluna Bottom(Sum(Sales)) retorna 757 para as 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 representações dos gráficos de tabela mostrados neste exemplo, foram adicionadas mais dimensões aos gráficos: 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 QlikView. O QlikView 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, o valor de Dec e ambos os valores de Product mostrados na tabela são 22. (Algumas linhas não são exibidas, para economizar espaço).

Customer Product Month Sum(Sales) End value
      2566 -
Astrida AA Jan 46 22
Astrida AA Feb 60 22
Astrida AA Mar 70 22
... ... ... ... ...
Astrida AA Sep 78 22
Astrida AA Oct 12 22
Astrida AA Nov 78 22
Astrida AA Dec 22 22
Astrida BB Jan 46 22
Primeira tabela para o Exemplo 2. O valor de Bottom para a medição de End value baseada em Month (Dec).
Customer Product Month Sum(Sales) End value
      2566 -
Astrida AA Jan 46 46
Astrida BB Jan 46 46
Astrida AA Feb 60 60
Astrida BB Feb 60 60
Astrida AA Mar 70 70
Astrida BB Mar 70 70
Astrida AA Apr 13 13
Astrida BB Apr 13 13
Segunda tabela para o Exemplo 2. O valor de Bottom para a medida de End value baseada em Product (BB para Astrida).

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

Exemplo: 3

Resultado

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

Nos argumentos para a função Bottom(), offset é definido em 1 e count, é definido em 3. A função encontra os resultados da expressãoSum(Sales) em três linhas imediatamente acima da linha atual 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.

Uma tabela com Customer como dimensão dá os seguintes resultados para a expressão RangeAvg().

 
Astrida
Betacab
Canutility
Divadip:
659,67
659,67
659,67
659,67

Monthnames:

LOAD * INLINE [

Month, 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 (Month, 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 '|');

Para obter os meses para classificar na ordem correta, ao criar seus gráficos, acesse a aba Sort das propriedades do gráfico e marque a caixa de seleção Expression em Sort by. Na caixa de expressões, escreva Monthnumber.

Consulte também: