RangeAvg — funkcja skryptu i funkcja wykresu

Funkcja RangeAvg() zwraca średnią wartość z zakresu. Argumentem wejściowym funkcji może być zakres wartości lub wyrażenie.

Składnia:  

RangeAvg(first_expr[, Expression])

Typ zwracanych danych: liczbowy

Argumenty:  

Argument tej funkcji może zawierać funkcje międzywierszowe, które same zwracają listę wartości.

Argument Opis
first_expr Wyrażenie lub pole zawierające dane do obliczenia średniej.
Expression Opcjonalne wyrażenia lub pola zawierające dane do obliczenia średniej. Można używać wielu dodatkowych wyrażeń.

Ograniczenia:  

Jeśli nie zostanie znaleziona żadna wartość liczbowa, zostanie zwrócona wartość NULL.

Przykłady i wyniki:  

Przykłady Wyniki
RangeAvg (1,2,4)

Zwraca wartość 2,33333333

RangeAvg (1,'xyz') Zwraca wartość 1
RangeAvg (null( ), 'abc') Zwraca wartość NULL

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, RangeAvg(Field1,Field2,Field3) as MyRangeAvg 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 funkcjiMyRangeAvg dla każdego z rekordów w tabeli.
RangeID MyRangeAvg
1 7
2 4
3 6
4 12.666
5 6.333
6 5

Przykład z wyrażeniem:

RangeAvg (Above(MyField),0,3))

Zwraca średnią kroczącą wyniku zakresu trzech wartości z kolumny MyField obliczaną 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 RangeAvg().

Dane używane w przykładach:

Porada: Aby przykład działał zgodnie z oczekiwaniami, wyłącz sortowanie pola MyField.
MyField RangeAvg (Above(MyField,0,3))  
10 10 Jest to najwyższy wiersz, zakres obejmuje tylko jedną wartość.
2 6 Nad tym wierszem jest tylko jeden wiersz, zakres jest zatem następujący: 10,2.
8 6,6666666667 Odpowiednik funkcji RangeAvg(10,2,8)
18 9,333333333  
5 10. 333333333  
9 10,6666666667  

RangeTab:

LOAD * INLINE [

MyField

10

2

8

18

5

9

] ;