Genauigkeitsverlust bei großen Zahlen oder nicht ganzzahligen Werten
Problem oder Fehler: Aufgrund von Beschränkungen bei den in Campaign verwendeten Datentypen kann in zahlreichen Fällen ein Genauigkeitsverlust auftreten. Wenn beispielsweise Zahlen mit mehr als 15 Stellen verwendet werden, werden diese Werte von Campaign näherungsweise berechnet. Beim Addieren von nicht ganzzahligen Werten tritt ebenfalls ein Genauigkeitsverlust auf (Beispiel: 95,1 + 4,9 ergibt u. U. nicht genau 100).
Lösung: Wenn die nicht ganzzahligen Werte in ganzzahlige Werte mit weniger als 15 Stellen geändert werden können, tritt kein Genauigkeitsverlust auf. Wenn Sie beispielsweise die Werte im vorherigen Beispiel mit 10 multiplizieren, einen kleinen Deltawert (z. B. 0,3) addieren und anschließend das Makro FLOOR() zur Umwandlung in eine Ganzzahl verwenden, wird 951 + 49 = 1000 korrekt als TRUE bewertet.
Alternativ können Sie Werte mithilfe eines kleinen Deltawerts vergleichen, statt einen genauen Vergleich durchzuführen (Beispiel: 95,1 + 4,9 > 100 – delta AND 95,1 + 4,9 < 100 + delta).
Schließlich können Sie die Berechnungen in der Datenbank ausführen, wenn die Werte darin enthalten sind (z. B. durch Schreiben eines benutzerdefinierten Makros GROUPBY, das diese Werte für jeden Kunden summiert).