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
orvalue
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 dodajevalue
do values zexpression
and 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]))