Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
TiagoCardoso
Creator II
Creator II

Lógica | Cálculo

Boa tarde pessoal,...

Estou enfrentando um problema de lógica e funções no script de uma aplicação.

Bom, é o seguinte:

  • Existe uma programação de cada ponto por onde o veículo deve passar, uma espécie de programação da rota, que contém, inclusive, o sentido de tráfego (Ida ou Volta) - Vide anexo;
  • Existe o complemento da programação, que é a execução de viagens (passando pelos pontos programados), ou seja, quantas vezes o veículo passará pelos pontos determinados na programação da rota, podendo ou não caracterizar uma (1) viagem dentre várias no mesmo dia - Vide anexo;


Obs.: Ambos anexos são referentes a um (1) dia de trabalho.

O Problema.


Esta aplicação já foi feita e concluída utilizando uma regra de negócio diferente, que era a seguinte: carregavam-se apenas os primeiros registros de ida e os primeiros e volta (pela sequencia do ponto programado - anexo), daí depois era feita a comparação de quantas idas e voltas foram feitas (pela quantidade de vezes que o veículo passou pelo ponto de ida e volta) e dividia-se por dois (2) - uma ida vale meio (0,5) e volta a mesma coisa - os dois formavam uma (1) viagem completa...

E a regra de negócio mudou...

Pois bem, a regra de negócio mudou (o sistema foi modificado para maior precisão) e agora entrará em vigor uma regra diferente: o veículo pode ou não iniciar sua viagem do primeiro ponto de partida programado, ou seja, didaticamente: existem dez (10) "checkpoints" pelos quais o veículo deve passar. pela antiga regra ele iniciaria do ponto um (1), porém, agora ele pode iniciar do ponto quatro (4), anulando totalmente a precisão da antiga regra aplicada.

Mas calma...

A regra de cálculo pela nova regra de negócio é a seguinte: eu valido meia (0,5) ida caso o veículo passe por, pelo menos, 60% do total de pontos programados para aquele sentido, neste caso, ida. O mesmo vale para a volta. Didaticamente: se existem dez (10) pontos por onde o veículo deve passar, e eventualmente ele passar por seis (6) apenas, isso é validado como meia ida ou volta (dependendo do sentido).


*Espero ter detalhado ao máximo meu problema para que possamos resolver isto juntos!


Sim, tenho algumas coisas em mente, quem baixar os arquivos poderá ver que estão bem organizados e didáticos.

Estou estudando sobre um possível uso das funções Previous() e Peek().


Não se esqueçam de baixar os anexos com dados minificados para teste.


Obs.: Uso QlikView.


Desde já sou grato àqueles que pelo menos leram até o final o meu problema.

Att,

tiagocardoso

Labels (1)
2 Replies
mauroponte
Creator II
Creator II

Thiago,

Tenho algumas dúvidas.

pelo que estou vendo voce deseja apresentar os dados em uma tabela, já que cogitou usar previous e peek. Qual seria a dimensão? O veículo?

Como faço para identificar na planilha de Programação para qual(ais) veículo(s) foi feita a programação? já que nessa planilha eu nao tenho o campo veículo, e pelo que entendo preciso contar quantas programações foram feitas e não executadas?

TiagoCardoso
Creator II
Creator II
Author

Dimensão IdLinha.

A programação é feita pelo IdLinha, deixei o campo veículo para possível ajuda de quem for usar.

O campo IdLinha está presente em ambos os arquivos.

A programação é uma só, estática, no arquivo de programação.

As execuções são mais de uma, passando ou não pelos mesmos pontos. Tanto que o arquivo de execuções é muito maior do que a programação.