QlikWorld 2020 Global Conference. Nehmen Sie teil, um zu erfahren, wie Sie Ihre Daten optimal nutzen können. Zögern Sie nicht. Registrieren Sie sich jetzt zum günstigeren Preis.

RangeSum - Skript- und Diagrammfunktion

RangeSum() liefert die Summe einer Reihe von Werten. Im Gegensatz zum Operator + werden alle nicht numerischen Werte als 0 behandelt.

Syntax:  

RangeSum(first_expr[, Expression])

Return data type: numerisch

Arguments:  

Die Argumente dieser Funktion können eine Inter-Record-Funktion enthalten, die auch wieder eine Liste der Werte liefert.

Argument Beschreibung
first_expr Die Formel oder das Feld mit den Daten, die gemessen werden sollen.
Expression Optionale Formeln oder Felder, in denen die zu messenden Daten enthalten sind.

Limitations:  

Die Funktion RangeSum behandelt alle nicht numerischen Werte als 0 (im Gegensatz zum Operator +).

Examples and results:  

Beispiele Ergebnisse
RangeSum (1,2,4)

Liefert 7

RangeSum (5,'abc') Liefert 5
RangeSum (null( ))

Liefert 0

Fügen Sie Ihrer App ein Beispielskript hinzu und führen Sie dieses aus. Fügen Sie einem Arbeitsblatt in Ihrer App dann mindestens diejenigen Felder hinzu, die in der Ergebnisspalte aufgeführt sind, um das Ergebnis anzuzeigen.

RangeTab3:

LOAD recno() as RangeID, Rangesum(Field1,Field2,Field3) as MyRangeSum INLINE [

Field1, Field2, Field3

10,5,6

2,3,7

8,2,8

18,11,9

5,5,9

9,4,2

];

Die entstehende Tabelle enthält die zurückgegebenen Werte von MyRangeSum für jeden der Datensätze in der Tabelle.
RangeID MyRangeSum
1 21
2 12
3 18
4 38
5 19
6 15

Beispiel mit Formel:

RangeSum (Above(MyField,0,3))

Liefert die Summe der drei Werte der Funktion MyField): anhand der Werte der aktuellen Zeile und der beiden Zeilen über der aktuellen Zeile. Wird das dritte Argument als 3 angegeben, liefert die Funktion Above() drei Werte, sofern genügend Zeilen oberhalb vorhanden sind, die als Input für die Funktion RangeSum() verwendet werden.

In Beispielen verwendete Daten:

Tipp: Deaktivieren Sie das Sortieren für MyField, damit Sie das gewünschte Ergebnis erhalten.
MyField RangeSum(Above(MyField,0,3))
10 10

2

12
8 20
18 28
5 31
9 32

In Beispielen verwendete Daten:

RangeTab:

LOAD * INLINE [

MyField

10

2

8

18

5

9

] ;