encontrar en una lista el priemer dato con valor mayor al seleccionado


([N3] ereitmann) #1

Hola a Todos, tal vez alguien me pueda ayudar a resolver este problema:
Resulta que tengo en un evento cargada una lista ordenada por un campo numerico de menor a mayor, ese campo numerico puede repetirse de manera que puede haber muchos numeros iguales hasta que aparece el primero registro con el valor inmediato superior. (esto esta hecho asi para realizar calculos estadisticos).
Yo selecciono un registro de esa lista por posicion... y luego tengo que encontrar y selecionar (y es lo que no se como hacer) el primer registro que le siga con el valor mayor. todo esto se debe realizar en un evento. para luego restarle el valor menor
Es para calculos de percentilos (rangos y amplitudes).
Alguien me puede tirar una soga en esto por que estoy mareado.

Muchas Gracias


([N3] blavan) #2

Hola, a bote pronto.
En la tabla crea un campo SIGUIENTEA
Un proceso lista

Con multipartir lista rellena ese campo SIGUIENTEA con un numero correlativo para cada mutipartir

Entonces desde una ficha ya conocemos SIGUIENTEA y el SIGUIENTE+1 debe ser la ficha que tu necesitas


([N3] ereitmann) #3

Muchas GraciasBenito, me has dado una pista, como no tengo ni idea de lo que hace o como recuperar los datos luego de partir lista voy a hacer una consuta al soporte sobre esto que me recomiendas.


([N3] blavan) #4

No hace falta que vayas a soporte
A lo mejor no complete correctamente la explicación
Partimos de la base que conoces como funciona multipartir lista ¿no?

SET CONTADOR 1
ORDENAR LISTA CAMPO
MULTIPARTIR LISTA CAMPO
RECORRER LISTA LECTURA ESCRITURA
MODIFICAR CAMPO SIGUIENTEA WITH CONTADOR
SET CONTADOR CONTADOR+1

Que conseguimos con esto, que a cada lote de fichas con el mismo numero por ejemplo 155 le asignes a SIGUINTEA el contador 1
Al siguiente lote, los que tienen el numero por ejemplo 167 tomen en SIGUINETEA el contador con un 2

Y asi sucesivamente

Si despues tienes un indice por SIGUIENTEA , cuando un lote tiene un SIGUIENTEA por ejemplo el valor 2 ya puedes encontrar la ficha del lote con SIGUIENTEA=3

VALE?


([N3] blavan) #5

Que tal te fue?


([N3] ereitmann) #6

Perdon que no conteste antes, y muchas gracias nuevamente por tu gran ayuda, lo resolovi de 2 maneras una dificil ( la mia que encontre) y la facil que fue la tuya.

La mia: por cada posicion que es la que le corresponde en una lista ordenada al percentil x que uno quiere encontrar, (o sea el lugar que segun el % del tamaño de la lista ocupa el registro encontrado) le hacia bucle que a partir de alli buscara el primer registro con valor difrente en esa lista, para luego interpolar los resultados (entre el mayor y el menor) tenia que definir como 20 variables locales y en fin un cuento chino hacerlo pero me resulto.

Y luego probe la tuya, como yo no soy programador, obviamente mi estructura mental no es tan agil como la tuya pero tambien resulto y mucho mas rápido de solucionar. Hay muchas funciones que todavia no conozco de velneo y aqui aprendi como utilizar multipartir lista.

Muchas gracias nuevamente


([N3] blavan) #7

Me alegro, yo tampoco soy informatico pero gracias a Velneo lo parezco