Fractile — funkcja wykresu
Funkcja Fractile() zwraca wartość odpowiadającą fraktylowi (kwantylowi) z przedziału zamkniętego zagregowanych danych w zakresie podanym wyrażeniem iterowanym po wymiarach wykresu.
Składnia:
Fractile([{SetExpression}] [DISTINCT] [TOTAL [<fld{, fld}>]] expr, fraction)
Typ zwracanych danych: numeric
Funkcja zwraca wartość odpowiadającą klasyfikacji zdefiniowanej przez rank = fraction * (N-1) + 1, gdzie N jest liczbą wartości w wyrażeniu expr. Jeśli rank jest liczbą niecałkowitą, dokonuje się interpolacji między dwiema najbliższymi wartościami.
Argumenty:
| Argument | Opis |
|---|---|
| expr | Wyrażenie lub pole zawierające dane do wykorzystania przy obliczaniu fraktylu. |
| fraction | Liczba z przedziału od 0 do 1 odpowiadająca obliczanemu fraktylowi (kwantylowi wyrażonemu ułamkiem). |
| SetExpression | Funkcja agregacji będzie domyślnie dokonywać agregacji na zbiorze możliwych wierszy zdefiniowanym przez selekcję. Alternatywny zestaw wierszy można zdefiniować za pomocą wyrażenia analizy zestawów. |
| DISTINCT | Jeśli przed argumentami funkcji występuje słowo DISTINCT, wówczas duplikaty wynikające z wyników obliczenia argumentów funkcji są pomijane. |
| TOTAL | Jeśli słowo TOTAL występuje przed argumentami funkcji, wówczas obliczenie jest wykonywane względem wszystkich możliwych wartości z uwzględnieniem bieżących selekcji, nie tylko tych należących do bieżącej wartości wymiaru, to znaczy z pominięciem wymiarów wykresu. Korzystając z polecenia TOTAL [<fld {.fld}>], gdzie po kwalifikatorze TOTAL podana jest lista nazw pól stanowiących podzbiór zmiennych wymiarów wykresu, można utworzyć podzbiór wszystkich możliwych wartości. |
Ograniczenia:
Parametr funkcji agregacji nie może zawierać innych funkcji agregacji, chyba że takie wewnętrzne agregacje zawierają kwalifikator TOTAL. W przypadku bardziej zaawansowanych agregacji zagnieżdżonych należy stosować zaawansowaną funkcję w Aggrpołączeniu z określonym wymiarem.
Przykłady i wyniki:
| Customer | Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Astrida | 46 | 60 | 70 | 13 | 78 | 20 | 45 | 65 | 78 | 12 | 78 | 22 |
| Betacab | 65 | 56 | 22 | 79 | 12 | 56 | 45 | 24 | 32 | 78 | 55 | 15 |
| Canutility | 77 | 68 | 34 | 91 | 24 | 68 | 57 | 36 | 44 | 90 | 67 | 27 |
| Divadip | 57 | 36 | 44 | 90 | 67 | 27 | 57 | 68 | 47 | 90 | 80 | 94 |
| Przykład | Wynik |
|---|---|
| Fractile(Sales, 0.75) |
W przypadku tabeli zawierającej wymiar |
| Fractile(TOTAL Sales, 0.75)) | 71,75 dla wszystkich wartości wymiaru Customer, ponieważ kwalifikator TOTAL sprawia, że wymiary są ignorowane. |
| Fractile(DISTINCT Sales, 0.75) | 70 dla sumy, ponieważ zastosowanie kwalifikatora DISTINCT sprawia, że oceniane są tylko niepowtarzalne wartości Sales dla każdej wartości wymiaru Customer. |
Dane zastosowane w przykładach: