RangeMode — funkcja skryptu i funkcja wykresu
Funkcja RangeMode() zwraca wartość najczęściej występującą w wyrażeniu lub polu (wartość modalną).
Składnia:
RangeMode(first_expr {, Expression})
Typ zwracanych danych: numeric
Argumenty:
Argumenty tej funkcji mogą zawierać funkcje międzywierszowe, które same zwracają listę wartości.
Argument | Opisu |
---|---|
first_expr | Wyrażenie lub pole zawierające mierzone dane. |
Expression | Opcjonalne wyrażenia lub pola zawierające mierzony zakres danych. |
Ograniczenia:
Jeśli z najwyższą częstością występuje więcej niż jedna wartość, wówczas zwracana jest wartość NULL.
Przykłady i wyniki:
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 |
Przykład:
Dodaj skrypt przykładowy do aplikacji i uruchom ją. Aby zobaczyć wynik, dodaj do arkusza w swojej aplikacji pola wyszczególnione w kolumnie wyników.
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
];
Tabela docelowa przedstawia zwrócone wartości funkcjiMyRangeMode dla każdego z rekordów w tabeli.
RangeID | MyRangMode |
---|---|
1 | - |
2 | - |
3 | 8 |
4 | - |
5 | 5 |
6 | - |
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 | - |