Udostępnij za pośrednictwem


RANKX

Dotyczy:kolumna obliczeniowatabela obliczeniowaMeasureobliczenia wizualne

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 pojedynczy valueskalarny . Wyrażenie jest obliczane dla każdego wiersza table, aby generateall możliwe values klasyfikacji. Zapoznaj się z sekcją uwagi, aby zrozumieć zachowanie funkcji, gdy expression ocenia BLANK.

value (opcjonalnie) Dowolne wyrażenie DAX zwracające pojedynczy value skalarny, którego rank można znaleźć. Zobacz sekcję uwagi, aby zrozumieć zachowanie funkcji, gdy value jest not znalezione w wyrażeniu.

Gdy parametr value zostanie pominięty, zamiast tego zostanie użyta value wyrażenia w bieżącym wierszu.

order (opcjonalnie) value, który określa, jak rankvalue, niski lub wysoki or wysoki do niski:

value alternatywne value opis
0 (zero) FALSE Klasyfikuje w kolejności malejącej values wyrażenia. If value jest równa najwyższej liczbie w wyrażeniu, a następnie RANKX zwraca wartość 1.

Jest to domyślna value, gdy parametr zamówienia zostanie pominięty.
1 TRUE Klasyfikuje w kolejności rosnącej wyrażenia. If value jest równa najniższej liczbie w wyrażeniu, a następnie RANKX zwraca wartość 1.

ties (opcjonalnie) Wyliczenie, które definiuje sposób określania klasyfikacji, gdy istnieją powiązania.

wyliczanie opis
Skip next rank value, po remisie, jest rankvalue remisu plus count wiązania values. Na przykład if pięć (5) values są powiązane z rank z 11, a następnie nextvalue otrzyma rank z 16 (11 + 5).

Jest to domyślna value, gdy parametr ties zostanie pominięty.
Dense next rank value, po krawatie, jest nextrankvalue. Na przykład if pięć (5) values są powiązane z rank z 11, a następnie nextvalue otrzymają rank 12.

Zwracanie value

Liczba rankvalue wśród all możliwych valuesexpression ocenianych dla wierszy all liczb table.

Uwagi

  • If expression or value daje BLANK jest traktowana jako 0 (zero) dla wyrażeń all, które powodują liczbę, or jako pusty tekst dla all wyrażeń tekstowych.

  • If value jest notall możliwych valuesexpression następnie RANKX tymczasowo dodaje value do values z expressionand ponownie ocenia RANKX w celu określenia odpowiedniego rankvalue.

  • Opcjonalne argumenty mogą zostać pominięte przez umieszczenie pustego przecinka (,) na liście argumentów, na przykład RANKX(Inventory, [InventoryCost],,,"Dense").

  • Porównania równości related (=, <, >, >=and<=) między values z liczba dziesiętna typ danych może potencjalnie zwracać nieoczekiwane wyniki podczas korzystania z funkcji RANKX. Mogą wystąpić nieprawidłowe wyniki, ponieważ values z liczba dziesiętna typ danych są przechowywane jako liczby zmiennoprzecinkowe IEEE Standard 754, and mają nieodłączne ograniczenia w ich precyzji. Aby uniknąć nieoczekiwanych wyników, zmień typ danych na Fixed liczba dziesiętnaor wykonać wymuszone zaokrąglenie przy użyciu ROUND.

  • Ta funkcja jest not obsługiwana do użycia w trybie DirectQuery w przypadku użycia w kolumnach obliczeniowych or reguł zabezpieczeń na poziomie wiersza.

Przykład

Poniższa kolumna obliczeniowa w tabeli Products oblicza klasyfikację sprzedaży dla każdego product w kanale internetowym.

= RANKX(ALL(Products), SUMX(RELATEDTABLE(InternetSales), [SalesAmount]))