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.
- 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:
Przykład | Wynik |
---|---|
RangeAvg (1,2,4) |
Zwraca wartość 2,33333333 |
RangeAvg (1,'xyz') | Zwraca wartość 1 |
RangeAvg (null( ), 'abc') | Zwraca wartość NULL |
Przykład: (używając wyrażenia)
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().
MyField | RangeAvg (Above(MyField,0,3)) | Wyjaśnienie |
---|---|---|
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 | - |
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, 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 |