RangeFractile — funkcja skryptu i funkcja wykresu
Funkcja RangeFractile() zwraca wartość odpowiadającą n-temu kwantylowi (fractile) z zakresu liczb.
Składnia:
RangeFractile(fractile, first_expr[, Expression])
Typ zwracanych danych: numeric
Argumenty:
Argumenty tej funkcji mogą zawierać funkcje międzywierszowe, które same zwracają listę wartości.
Argument | Opis |
---|---|
fractile | Liczba z przedziału od 0 do 1 odpowiadająca obliczanemu fraktylowi (kwantylowi wyrażonemu ułamkiem). |
first_expr | Wyrażenie lub pole zawierające mierzone dane. |
Expression | Opcjonalne wyrażenia lub pola zawierające mierzony zakres danych. |
Przykłady i wyniki:
Przykłady | Wyniki |
---|---|
RangeFractile (0.24,1,2,4,6) | Zwraca wartość 1,72 |
RangeFractile(0.5,1,2,3,4,6) |
Zwraca wartość 3 |
RangeFractile (0.5,1,2,5,6) |
Zwraca wartość 3,5 |
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.
RangeTab:
LOAD recno() as RangeID, RangeFractile(0.5,Field1,Field2,Field3) as MyRangeFrac INLINE [
Field1, Field2, Field3
10,5,6
2,3,7
8,2,8
18,11,9
5,5,9
9,4,2
];
Tabela wynikowa przedstawia zwrócone wartości MyRangeFrac dla każdego z rekordów w tabeli.
RangeID | MyRangeFrac |
---|---|
1 | 6 |
2 | 3 |
3 | 8 |
4 | 11 |
5 | 5 |
6 | 4 |
Przykład z wyrażeniem:
RangeFractile (0.5, Above(Sum(MyField),0,3))
W tym przykładzie funkcja międzywierszowa Above() zawiera opcjonalne argumenty offset i count. W efekcie zwracany jest zakres wyników, który może stanowić źródło danych wejściowych dla dowolnej funkcji zakresu. W tym przypadku funkcja Above(Sum(MyField),0,3) zwraca wartości z kolumny MyField dla bieżącego wiersza i dwóch wierszy powyżej. Wartości te są danymi wejściowymi dla funkcji RangeFractile(). W przypadku najniższego wiersza w tabeli poniżej jest ona zatem odpowiednikiem funkcji RangeFractile(0.5, 3,4,6), obliczającą fraktal 0,5 dla szeregu 3, 4 i 6. W przypadku pierwszych dwóch wierszy w poniższej tabeli liczba wartości w zakresie jest stosownie ograniczona, ponieważ nie ma wierszy ponad bieżącym wierszem. Podobne wyniki są zwracane w przypadku innych funkcji międzywierszowych.
MyField | RangeFractile(0.5, Above(Sum(MyField),0,3)) |
---|---|
1 | 1 |
2 | 1.5 |
3 | 2 |
4 | 3 |
5 | 4 |
6 | 5 |
Dane zastosowane w przykładach:
RangeTab:
LOAD * INLINE [
MyField
1
2
3
4
5
6
] ;