Skip to main content
Woohoo! Qlik Community has won “Best in Class Community” in the 2024 Khoros Kudos awards!
Announcements
Nov. 20th, Qlik Insider - Lakehouses: Driving the Future of Data & AI - PICK A SESSION
cancel
Showing results for 
Search instead for 
Did you mean: 
luiz_damascena
Contributor III
Contributor III

Localizar registro com valores maiores E menores que o corrente

Imaginemos o seguinte cenário: um conjunto de registros como abaixo

Campo1, Campo2, Campo3, Campo4

     1,      2,      3,      4

     5,      6,      7,      8

     9,     10,     11,     12

    13,     14,     15,     16

    17,     18,     19,     20

Com os filtros aplicados, a informação visualizada é a da terceira linha: 9,10,11,12

Quero saber, dentre todos os valores existentes no meu conjunto de registros,

  • Qual o próximo valor, para baixo, da coluna Campo 3. A resposta seria 7.
  • Qual o próximo valor, para cima, da coluna Campo 4. A resposta seria 16.

As perguntas seriam feitas para exibição na mesma consulta, sem alterar minha filtragem atual. É como se eu quisesse exibir o valor corrente e também o máximo, usando a função Max(). Mas quero exibir o próximo valor maior ou menor, conforme o caso. Isso é possível?

Grato desde já,

Luiz Carlos.

3 Replies
Thiago_Justen_

Seria isso?

Teste.gif

Expressões:

Valor Acima

FieldValue('Campo1',FieldIndex('Campo1',$(vBusca))-1)


Valor Abaixo

FieldValue('Campo1',FieldIndex('Campo1',$(vBusca))+1)

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
luiz_damascena
Contributor III
Contributor III
Author

Tentarei tornar a pergunta mais clara...

Vamos assumir que Campo1 é o código do produto (um carro, por exemplo), Campo2 é um mês, Field3 é a média de consumo, Field4 a maior velocidade alcançada, Field5 a maior distância percorrida, etc.

Ou seja, cada campo depois de Campo2 é uma grandeza medida referente ao meu carro, em um mês indicado.

Vendo a informação do carro 1 em Março, quero ver também qual é a média de consumo mais próxima da minha, para cima e para baixo; ao mesmo tempo, quero saber a maior velocidade, para cima e para baixo, sempre considerando todos os carros no mesmo mês.

Não posso usar classificação. Assumindo um eventual índice usando o Campo1, a informação desejada (em relação a minha média de consumo, qual é a que está imediatamente abaixo da minha?) não estará na "linha de cima". Pode estar em qualquer lugar.

Volto ao exemplo do máximo e mínimo: exibindo minha velocidade, para saber qual a maior e a menor velocidades registradas, considerando todos os veículos, bastaria usar max() e min().

Mas não quero o valor máximo: quero o valor mais próximo do meu, que pode estar em qualquer linha.

Espero ter elaborado melhor...

Grato desde já.

Luiz Carlos.

luiz_damascena
Contributor III
Contributor III
Author

Destaco que "Meu carro" é parte dos dados. Cada carro existente na base de dados tem suas próprias informações.

Segue um exemplo, com dados:

Campos

carCode, monitoredMonth, averageConsumption, highestSpeed, distanceTraveled

Valores

1, Jan, 14.2, 100, 240

2, Jan,  7.7,  85, 400

3, Jan, 12.1, 120, 200

4, Jan,  8.5,  92, 130

5, Jan, 10.1,  70, 350

Como informação extra, as unidades de medida das colunas: averageConsumption km/l, highestSpeed km/h, distanceTraveled km.

Vendo a informação do carro 3, vejo que averageConsumption é 12.1 km/l, highestSpeed 120 km/h, distanceTraveled 200 km.

Além disso, quero exibir a averageConsumption imediatamente menor que a do carro 3, 12.1 Km/l, que estará na tela. A resposta será 10.1 km/l (informação vinculada ao carro 5)

Quero exibir também qual a distância percorrida imediatamente maior que a do carro 3, 200 Km, que estará na tela. A resposta será 240 km (informação vinculada ao carro 1).