RANKX
Dotyczy:kolumna obliczeniowatabela obliczeniowaMiarawizualizacji
Zwraca klasyfikację liczby na liście liczb dla każdego wiersza w argumencie table
.
Składnia
RANKX(<table>, <expression>[, <value>[, <order>[, <ties>]]])
Parametry
table
dowolne wyrażenie DAX zwracające tabelę danych, dla której jest obliczane wyrażenie.
expression
dowolne wyrażenie DAX zwracające pojedynczą wartość skalarną. Wyrażenie jest oceniane dla każdego wiersza table
, aby wygenerować wszystkie możliwe wartości klasyfikacji. Zapoznaj się z sekcją uwagi, aby zrozumieć zachowanie funkcji, gdy expression
ocenia BLANK.
value
(opcjonalnie) Dowolne wyrażenie DAX zwracające pojedynczą wartość skalarną, której ranga ma zostać znaleziona. Zobacz sekcję uwagi, aby zrozumieć zachowanie funkcji, gdy w wyrażeniu nie znaleziono value
.
Gdy parametr value
zostanie pominięty, zamiast tego zostanie użyta wartość wyrażenia w bieżącym wierszu.
order
(opcjonalnie) Wartość określająca sposób klasyfikacji value
, niski lub wysoki do niski:
wartość | wartość alternatywna | opis |
---|---|---|
0 (zero) | FALSE |
Klasyfikuje w kolejności malejącej wartości wyrażenia. Jeśli wartość jest równa najwyższej liczbie w wyrażeniu, RANKX zwraca wartość 1. Jest to wartość domyślna, gdy parametr zamówienia zostanie pominięty. |
1 | TRUE |
Klasyfikuje w kolejności rosnącej wyrażenia. Jeśli wartość jest równa najniższej liczbie w wyrażeniu, RANKX zwraca wartość 1. |
ties
(opcjonalnie) Wyliczenie, które definiuje sposób określania klasyfikacji, gdy istnieją powiązania.
wyliczanie | opis |
---|---|
Skip |
Następna wartość rangi, po remisie, jest wartością rangi remisu oraz liczbą powiązanych wartości. Jeśli na przykład pięć (5) wartości są powiązane z rangą 11, następna wartość otrzyma rangę 16 (11 + 5). Jest to wartość domyślna po pominięciu parametru ties . |
Dense |
Następna wartość rangi po krawatie to następna wartość rangi. Jeśli na przykład pięć (5) wartości są powiązane z rangą 11, następna wartość otrzyma rangę 12. |
Wartość zwracana
Liczba value
klasyfikacji wśród wszystkich możliwych wartości expression
obliczanych dla wszystkich wierszy table
liczb.
Uwagi
Jeśli
expression
lubvalue
daje BLANK jest traktowana jako 0 (zero) dla wszystkich wyrażeń, które powodują liczbę, lub jako pusty tekst dla wszystkich wyrażeń tekstowych.Jeśli
value
nie znajduje się wśród wszystkich możliwych wartościexpression
, RANKX tymczasowo dodajevalue
do wartości zexpression
i ponownie ocenia RANKX w celu określenia odpowiedniej rangivalue
.Opcjonalne argumenty mogą zostać pominięte przez umieszczenie pustego przecinka (,) na liście argumentów, na przykład
RANKX(Inventory, [InventoryCost],,,"Dense")
.Porównania związane z równością (
=
,<
,>
,>=
i<=
) między wartościami z liczba dziesiętna typ danych może potencjalnie zwracać nieoczekiwane wyniki podczas korzystania z funkcji RANKX. Mogą wystąpić nieprawidłowe wyniki, ponieważ wartości z liczba dziesiętna typ danych są przechowywane jako liczby zmiennoprzecinkowe IEEE Standard 754 i mają nieodłączne ograniczenia w ich precyzji. Aby uniknąć nieoczekiwanych wyników, zmień typ danych na Stałoprzecinkowa liczba dziesiętna lub wykonaj wymuszone zaokrąglenie przy użyciu ROUND.Ta funkcja nie jest obsługiwana w trybie DirectQuery w przypadku użycia w kolumnach obliczeniowych lub regułach zabezpieczeń na poziomie wiersza.
Przykład
Poniższa kolumna obliczeniowa w tabeli Products oblicza klasyfikację sprzedaży dla każdego produktu w kanale internetowym.
= RANKX(ALL(Products), SUMX(RELATEDTABLE(InternetSales), [SalesAmount]))