WRank — funkcja skryptu
Funkcja WRank() oblicza wartości wierszy tabeli w skrypcie ładowania i dla każdego wiersza zwraca względną pozycję wartości pola obliczanego w skrypcie ładowania. Obliczając wartość tabeli, funkcja porównuje wynik z wynikiem dla innych wierszy zawierających bieżącą partycję i zwraca klasyfikację bieżącego wiersza w ramach segmentu.
WRank można używać tylko w funkcji Window. Funkcja Window musi zawierać typ sortowania i wyrażenie sortowania. Klasyfikacja jest stosowana do wyrażenia sortowania.
Składnia:
WRank ([mode[, fmt]])
Typ zwracanych danych: wartość podwójna
Argumenty:
Argument | Opis |
---|---|
mode | Opcjonalnie określa reprezentację liczbową wyniku funkcji. |
fmt | Opcjonalnie określa reprezentację tekstową wyniku funkcji. |
TOTAL |
Jeśli tabela jest jednowymiarowa lub skrypt jest poprzedzony kwalifikatorem TOTAL, funkcja będzie obliczana w całej kolumnie. Jeśli tabela lub równoważnik tabeli zawiera wiele wymiarów pionowych, wówczas bieżąca partycja będzie zawierać tylko wiersze z takimi samymi wartościami we wszystkich kolumnach wymiaru jak bieżący wiersz, ale bez kolumny przedstawiającej ostatni wymiar w kolejności sortowania między polami. |
Klasyfikacja jest zwracana jako wartość podwójna, która w sytuacji, gdy każdy wiersz ma niepowtarzalną klasyfikację, będzie liczbą całkowitą z zakresu od 1 do liczby wierszy w bieżącej partycji.
Jeśli kilka wierszy ma tę samą klasyfikację, reprezentację tekstową i liczbową można kontrolować za pomocą argumentów mode i fmt.
mode
Pierwszy argument, mode, może mieć następujące wartości:
Wartość | Opis |
---|---|
0 (domyślnie) |
Jeśli wszystkie klasyfikacje w grupie o takich samych klasyfikacjach należą do dolnego zakresu wartości środkowej całej klasyfikacji, wówczas wszystkie wiersze uzyskują najniższą klasyfikację w tej grupie. Jeśli wszystkie klasyfikacje w grupie o takich samych klasyfikacjach należą do górnego zakresu wartości środkowej całej klasyfikacji, wówczas wszystkie wiersze uzyskują najwyższą klasyfikację w tej grupie. Jeśli klasyfikacje w grupie o takich samych klasyfikacjach obejmują środek zakresu całej klasyfikacji, wszystkie wiersze otrzymują wartość odpowiadającą średniej klasyfikacji górnej i dolnej w całej partycji. |
1 | Najniższa klasyfikacja we wszystkich wierszach. |
2 | Średnia klasyfikacja we wszystkich wierszach. |
3 | Najwyższa klasyfikacja we wszystkich wierszach. |
4 | Najniższa klasyfikacja w pierwszym wierszu, następnie zwiększana o jeden dla każdego wiersza. |
fmt
Drugi argument, fmt, może mieć następujące wartości:
Wartość | Opis |
---|---|
0 (domyślnie) | Niska wartość - wysoka wartość we wszystkich wierszach (na przykład 3–4). |
1 | Niska wartość we wszystkich wierszach. |
2 | Niska wartość w pierwszym wierszu, pusta w kolejnych wierszach. |
Kolejność wierszy dla argumentów mode 4 i fmt 2 jest określona przez kolejność ładowania pól tabeli.
Przykład — dodawanie pola z klasyfikacją
Przykład — dodawanie pola z klasyfikacją przy użyciu fmt w celu uzyskania wyniku jednocyfrowego
Przykład — Dodawanie pola z klasyfikacją z wieloma partycjami
Ograniczenia
WRank ma następujące ograniczenia:
-
Jeżeli wartość fmt wynosi 0 i chcesz użyć części tekstowej dwojakiego wyniku WRank, musisz użyć Text() z Window(WRank). Na przykład: Text(Window(WRank(0), Unit, 'DESC', Age)) as UnitWRankedByAgeText.