Página 1 de 1

ERROR EN UN INDICADOR

Publicado: 28 Dic 2009 21:41
por indi
Estoy intentando diseñar un sencillo indicador que me marque zonas de congestion ;es el siguiente


(GetHighestdata-minimo)*100/(GetHighestdata-GetLowestdata)

me da un error al insertarlo de " Error: division by cero" y no llego a entender porquer el denominador nunca puede dar cero

si invierto los termino funciona bien,pero eso no es lo que busco..

¿Alquien ha tenido este problema..? ¿Alguien sabe como sovelntarlo...?

gracias

Re: ERROR EN UN INDICADOR

Publicado: 28 Dic 2009 22:22
por Fer137
indi escribió:Estoy intentando diseñar un sencillo indicador que me marque zonas de congestion ;es el siguiente


(GetHighestdata-minimo)*100/(GetHighestdata-GetLowestdata)

me da un error al insertarlo de " Error: division by cero" y no llego a entender porquer el denominador nunca puede dar cero
Cosas de las matemáticas. En ese caso tu indicador marca infinito (si el minimo y maximo de los datos coinciden es que habrá infinita congestión :D
si invierto los termino funciona bien,pero eso no es lo que busco..

¿Alquien ha tenido este problema..? ¿Alguien sabe como sovelntarlo...?
Por ejemplo súmale algo:
(GetHighestdata-minimo)*100/(GetHighestdata-GetLowestdata+0.000000001)
así los microchips no tendrán problema.

Re: ERROR EN UN INDICADOR

Publicado: 29 Dic 2009 00:18
por elcctrro
Yo la solucion que utilizo es ver las variables de la fórmula y si veo que son cero o que en la formula va dar un error como el que planteas entonces asigno al resultado de la formula el último valor calculado sin error, si veo que no dara error entonces calculo la formula.

if( GetHighestdata=minimo OR GetHighestdata=GetLowestdata ) // condiciones que dan error
{
Indicador=Valor_Indicador_aterior
}
else
{
Indicador=(GetHighestdata-minimo)*100/(GetHighestdata-GetLowestdata)
}

un saludo.

Re: ERROR EN UN INDICADOR

Publicado: 29 Dic 2009 10:05
por X-Trader
elcctrro escribió:Yo la solucion que utilizo es ver las variables de la fórmula y si veo que son cero o que en la formula va dar un error como el que planteas entonces asigno al resultado de la formula el último valor calculado sin error, si veo que no dara error entonces calculo la formula.

if( GetHighestdata=minimo OR GetHighestdata=GetLowestdata ) // condiciones que dan error
{
Indicador=Valor_Indicador_aterior
}
else
{
Indicador=(GetHighestdata-minimo)*100/(GetHighestdata-GetLowestdata)
}

un saludo.
Ésta es la que uso yo también.

Saludos,
X-Trader

Re: ERROR EN UN INDICADOR

Publicado: 29 Dic 2009 18:27
por indi
¡Magnifico!, ya lo he arreglado, muchas gracias


saludos