RangeSum — funkcja skryptu i funkcja wykresu
Funkcja RangeSum() zwraca sumę zakresu wartości. Wszystkie wartości nieliczbowe są traktowane jako 0, w odróżnieniu od działania operatora +.
Składnia:
RangeSum(first_expr[, Expression])
Typ zwracanych danych: liczbowy
Argumenty:
Argument tej funkcji może zawierać funkcje międzywierszowe, które same zwracają listę wartości.
- first_expr: Wyrażenie lub pole zawierające dane do obliczenia sumy.
- Expression: Opcjonalne wyrażenia lub pola zawierające zakres sumowanych danych. Można używać wielu dodatkowych wyrażeń.
Ograniczenia:
Funkcja RangeSum interpretuje wszelkie wartości nieliczbowe jako wartość 0, w przeciwieństwie do operatora +.
Przykłady:
Przykład | Wynik |
---|---|
RangeSum (1,2,4) |
Zwraca wartość 7 |
RangeSum (5,'abc') | Zwraca wartość 5 |
RangeSum (null( )) |
Zwraca wartość 0 |
Przykład: (używając wyrażenia)
RangeSum (Above(MyField,0,3))
Zwraca wartość sumy trzech wartości z kolumny MyField) dla bieżącego wiersza oraz dwóch wierszy powyżej niego. Jeśli trzeci argument ma wartość 3, funkcja Above() zwraca trzy wartości (o ile istnieje wystarczająca liczba wierszy powyżej), które stanowią dane wejściowe dla funkcji RangeSum().
MyField | RangeSum(Above(MyField,0,3)) |
---|---|
10 | 10 |
2 |
12 |
8 | 20 |
18 | 28 |
5 | 31 |
9 | 32 |
Dane zastosowane w przykładach:
RangeTab:
LOAD * INLINE [
MyField
10
2
8
18
5
9
] ;
Przykład: (w formie tabeli)
Dodaj przykładowy skrypt do dokumentu i uruchom go. Następnie dodaj do arkusza w swoim dokumencie co najmniej pola wyszczególnione w kolumnie wyników, aby wyświetlić wynik.
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
];
Tabela docelowa przedstawia zwrócone wartości funkcjiMyRangeSum dla każdego z rekordów w tabeli.
RangeID | MyRangeSum |
---|---|
1 | 21 |
2 | 12 |
3 | 18 |
4 | 38 |
5 | 19 |
6 | 15 |