CSVfox
Leverage Your Data.
 Deutsch

Rechnen mit numerischen CSV Feldern

Arithmetische Berechnungen mit numerischen Feldern

Lesen von numerischen Feldwerten

Die CSVfox Software extrahiert den dezimalen numerischen Wert eines CSV Feldes, wenn die Referenz auf dieses Feld von runden Klammern umgeben ist. Das sieht dann so aus wie ([FieldName]) oder ([FieldName].,3).
Unter Numerische Felder lesen und formatieren finden Sie weitere Informationen zum Extrahieren von numerischen Feldwerten mit Hilfe von Klammern.

Arithmetik verwenden

Identifizierung einer arithmetischen Formel

Jeder Formelausdruck wird, wie ein einzelnes numerisches Feld, als Ganzes von runden Klammern umgeben. Es ist nicht erforderlich, für jedes CSV Feld innerhalb einer Formel Klammern zu verwenden. Allerdings kann die Verwendung von Klammern um ein Feld die Lesbarkeit verbessern, wenn Sie auch das Zahlenformat angeben müssen.

Eine Formel kann nur aus Datenfeldern, Dezimalzahlen, Operatoren und Klammern bestehen.
Dezimalzahlen müssen im lokalen Format geschrieben werden (Dezimaltrennzeichen, optional Tausendertrennzeichen). Dies kann z.B. ein Komma in den USA, aber einen Punkt in Deutschland erfordern. Ein negatives Vorzeichen muss unmittelbar vor der Zahl stehen.
([MyField]*3)
Multipliziert den numerischen Inhalt von [MeinFeld] mit 3.
([MyField].,4*3) or (([MyField].,4)*3)
Multipliziert den numerischen Inhalt von [MeinFeld] mit 3.
In diesem Fall enthält [MeinFeld] den Wert in einem Fremdformat mit Punkt als Tausender und Komma als Dezimaltrennzeichen. Und nach dem Lesen muss der Wert auf vier Dezimalstellen gerundet werden, bevor er für die Berechnung verwendet wird.
([NetPrice]*[TaxFactor])
Multipliziert den numerischen Inhalt von [NetPrice] mit dem numerischen Inhalt von [TaxFactor].

Für jede arithmetische Formel gelten die folgenden Regeln:

  • Im Allgemeinen wird die Formel von links nach rechts ausgewertet
  • Klammerberechnung von innen nach außen
  • Algebraische Grundregeln (Klammern vor Exponent/Wurzel vor Multiplikation/Division vor Addition/Subtraktion).
  • Zahlen werden bis zu max. 25-27 signifikanten Stellen berechnet, siehe Software-Einschränkungen.

Unterstützte arithmetische Operatoren

Es gibt drei Arten von arithmetischen Operatoren:
O: Zweiseitige Operatoren zwischen zwei Operanden, wie [a]+[b] ,
P: Präfix vor dem Operanden, wie #[a] ,
S: Suffix nach dem Operanden, z.B. [b]% .

Die folgenden arithmetischen Operatoren werden verstanden:
Symbol Typ Beschreibung Beispiel
+ O Addition von zwei Feldwerten und/oder numerischen Werten -set[GrossPrice]=([NetPrice]+[Tax]) -set[TheAnswer]=(40+2)
- O Subtraktion von zwei Feldwerten und/oder numerischen Werten -set[NetPrice]=([GrossPrice]-[Tax])
P Negativer Wert, d.h. das Ergebnis von 0 minus Wert -set[MinusPrice]=(-[GrossPrice])
* O Multiplikation von zwei Feldwerten und/oder numerischen Werten -set[GrossPrice]=([NetPrice]*[TaxFactor]) -set[YearlyValue]=([MonthlyValue]*12)
/ O Float Division (mathematische Division) -set[MonthlyValue]=([YearlyValue]/12)
: O Integrale Division (Division mit Rest);
hat ein ganzzahliges Ergebnis und verwirft den Rest
-set[Theirs]="Each kid will get ([Apples]:[Kids]) apples"
% O Modulo (Rest der ganzzahligen Division) -set[Mine]="And I will keep ([Apples]%[Kids]) apples for myself"
S Prozentzeichen -set[NewPrice]=([OldPrice]+10%)
^ O n-ter Exponent -set[Expo3Field]=([BaseField]^3)
S Exponent 2 -set[ExpoField]=([BaseField]^)
r O n-te Wurzel -set[Root3Field]=(3r[BaseField])
P Quadratwurzel -set[SquareRootField]=(r[BaseField])
# P Absoluter Wert (positive Werte: value; negative Werte: 0-value) -set[HeightDifference]=(#([AHeight]-[BHeight]))
! S Faktorieller Wert -set[Permutations]=([Cards]!)
@ O Rundet auf die angegebene Auflösung;
erlaubt "Rappenrundung"
-set[Whole-Number-Value]=([OddValue]@1) -set[SwissPrice]=(RawPrice@0.05)
S Runden auf ganze Zahl -set[Whole-Number-Value]=([OddValue]@)
> O Max (Größter von zwei oder mehr Werten) -set[MaxPoints]=([MyPoints]>[YourPoints])
< O Min (Niedrigster von zwei oder mehr Werten) -set[Cheapest]=([ApplesPrice]<[PearsPrice]<[BananasPrice])

Anmerkungen zu einigen Operatoren

@ Runden auf bestimmte Auflösung
Dies eignet sich zum Runden auf bestimmte Schwellenwerte.
Wenn Sie auf den nächsten 10-Cent-Betrag runden möchten, können Sie ([Field]@0.10) verwenden.
In einigen Ländern werden Geldbeträge auf bestimmte Schwellenwerte gerundet. In der Schweiz ist die "Rappenrundung" auf die nächsten 5 Rappen üblich. Sie können dies mit einer Formel wie dieser erreichen: ([Amount]@0.05).
Wenn Sie den Rundungsoperator als Suffix verwenden, wie in ([Amount]@), wird auf die nächste ganze Zahl gerundet.

% als Prozentzeichen
Dies ermöglicht die direkte Verwendung eines Prozentwerts in einer Formel. Es hat die folgenden besonderen Bedeutungen:
([Field]+3%) gibt den Wert von ([Field]*1.03) zurück.
([Field]-3%) gibt den Wert von ([Field]*0.97) zurück.
([Field]*3%) gibt den Wert von ([Field]*0.03) zurück.
In allen anderen Fällen ist ein Prozentwert n% identisch mit (n*0.01).

<, > als Größer und Kleiner
Dies sind nicht gerade arithmetische Operatoren.
Sie ermitteln das Maximum oder Minimum, d.h. den größten bzw. den kleinsten von zwei oder mehr Werten.
So gibt ([a]>3) den Wert von [a] zurück, wenn dieser größer als 3 ist. Andernfalls wird 3 zurückgegeben.
Sie können auch wie folgt vorgehen: ([a]<[b]>[c]). Damit erhalten Sie den kleineren Wert von [a] und [b]. Dann vergleicht es das Ergebnis mit [c] und gibt den größeren Wert von beiden zurück (die Auswertung erfolgt von links nach rechts).

! als faktorieller Wert
Faktorielle Berechnungen sind nur für ganze Zahlen definiert. Da Zahlen in diesem Zusammenhang in der Regel dezimal sind, werden sie vor der Faktorisierung automatisch auf die nächste ganze Zahl gerundet.
Der Wertausdruck 4.15! wird also stillschweigend als 4! berechnet, was sich aus 1*2*3*4 ergibt.

Einschränkungen

Die Zahlenverarbeitung eignet sich für kommerzielle oder finanzielle Berechnungen, die eine große Anzahl von signifikanten Stellen und Dezimalstellen erfordern und keine Rundungsfehler tolerieren. Bei der Verwendung sehr großer Zahlen in exponentiellen oder faktoriellen Berechnungen können jedoch Grenzen erreicht werden und ein Überlauffehler auftreten. Siehe hier: Software-Einschränkungen.

einige weitere Beispiele...

Formatierte Werte drucken

Wie einzelne numerische Felder kann auch das numerische Ergebnis einer Formelberechnung für die Ausgabe formatiert werden (in ein CSV Feld).
Wenn keine explizite Formatierung definiert ist, erfolgt die Zahlenformatierung automatisch gemäß den aktuellen %locale Standardeinstellungen.
Andernfalls lesen Sie bitte unter Numerische Felder lesen und formatieren nach, wie Sie eine explizite Formatierung definieren können.

Under construction, coming soon