Antes de empezar a reír a una pregunta tan sencilla Me explico:El cálculo de la diferencia porcentual entre dos valores
Estoy tratando de determinar la cantidad de cambio (porcentaje%) existe en más de una cuenta diversos indicadores. Esto no es particularmente difícil. ¿Pero cómo manejas generalmente los casos donde el valor actual es cero o el valor anterior es cero?
es decir
Esta semana: Ganancias = $ 25,6
semana pasada: Ganancias = $ 0,0
que actualmente calculan la diferencia% por la siguiente fórmula:
If (CurrentValue > 0.0 && PreviousValue > 0.0) {
return (CurrentValue - PreviousValue)/PreviousValue;
} return 0.0;
si las ganancias fueron cero en la semana anterior - ¿Cuál debería ser la diferencia porcentual? + Infinity?
¿Y a la inversa si la semana actual es cero? -Infinity?
Entonces Para complicar las cosas ¿cómo manejar esta situación en una consulta LINQ a SQL
Upside_Earnings = (statistics.Where(d => d.DateTime > first_startdate && d.DateTime <= first_enddate).Average(e => (double)e.Earnings) > zero &&
statistics.Where(d => d.DateTime > second_startdate && d.DateTime <= second_enddate).Average(e => (double)e.Earnings) > zero) ?
((statistics.Where(d => d.DateTime > first_startdate && d.DateTime <= first_enddate).Average(e => (double)e.Earnings) -
statistics.Where(d => d.DateTime > second_startdate && d.DateTime <= second_enddate).Average(e => (double)e.Earnings))/
statistics.Where(d => d.DateTime > second_startdate && d.DateTime <= second_enddate).Average(e => (double)e.Earnings)) : zero,
Gracias por su ayuda chicos/chicas –