RangeMode — funkcja skryptu i funkcja wykresu
Funkcja RangeMode() zwraca wartość najczęściej występującą w wyrażeniu lub polu (wartość modalną).
Syntax:
RangeMode(first_expr {, Expression})
Return data type: numeric
Arguments:
Argumenty tej funkcji mogą zawierać funkcje międzywierszowe, które same zwracają listę wartości.
Argument | Opis |
---|---|
first_expr | Wyrażenie lub pole zawierające mierzone dane. |
Expression | Opcjonalne wyrażenia lub pola zawierające mierzony zakres danych. |
Limitations:
Jeśli z najwyższą częstością występuje więcej niż jedna wartość, wówczas zwracana jest wartość NULL.
Examples and results:
Przykłady | Wyniki | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
RangeMode (1,2,9,2,4) |
Zwraca wartość 2 |
||||||||||||||||
RangeMode ('a',4,'a',4) |
Zwraca wartość NULL |
||||||||||||||||
RangeMode (null( )) |
Zwraca wartość NULL |
||||||||||||||||
Dodaj skrypt przykładowy do aplikacji i uruchom ją. Następnie dodaj do arkusza w swojej aplikacji co najmniej pola wyszczególnione w kolumnie wyników, aby wyświetlić wynik. RangeTab3: LOAD recno() as RangeID, RangeMode(Field1,Field2,Field3) as MyRangeMode INLINE [ Field1, Field2, Field3 10,5,6 2,3,7 8,2,8 18,11,9 5,5,9 9,4,2 ]; |
|
Przykład z wyrażeniem:
RangeMode (Above(MyField,0,3))
Zwraca najczęściej występującą wartość z trzech wyników funkcji 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 RangeMode().
Dane zastosowane w przykładzie:
RangeTab:
LOAD * INLINE [
MyField
10
2
8
18
5
9
] ;
MyField | RangeMode(Above(MyField,0,3)) |
---|---|
10 | Zwraca wartość 10, ponieważ nie ma wierszy powyżej, zatem ta wartość pojedyncza jest wartością najczęściej występującą. |
2 | - |
8 | - |
18 | - |
5 | - |
9 | - |