Berechnen Sie die prozentuale Differenz zwischen zwei Werten

Bevor Sie anfangen zu lachen bei so einer einfachen Frage lassen Sie mich erklären:

Ich bin versucht zu ermitteln, wie viel Veränderung in Prozent ( % ) es wird in einer Rechnung über verschiedene Indikatoren. Dies ist nicht besonders schwer. Aber wie wollen Sie in der Regel behandeln die Fälle, in denen der aktuelle Wert ist null oder der Vorherige Wert gleich null ist?

d.h.

Diese Woche: Ergebnis = $25.6

Letzte Woche: Ergebnis = $0.0

Ich derzeit berechnen die Differenz in % durch die folgende Formel:

If (CurrentValue > 0.0 && PreviousValue > 0.0) {
   return (CurrentValue - PreviousValue) / PreviousValue;
}  return 0.0;

wenn das Ergebnis waren null in der Vorwoche - was soll % Differenz sein? +Infinity?
Und Umgekehrt, wenn die aktuelle Woche gleich null ist? -Infinity -?

Dann, um die Dinge zu komplizieren, wie würden Sie behandeln diese in einer Linq-To-SQL-Abfrage

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,
Danke für Eure Hilfe Jungs/Mädchen

InformationsquelleAutor Andrew Harry | 2009-09-03

Schreibe einen Kommentar