RANKX
platí pro:Počítaný sloupec
Počítaná tabulka
míra
vizuální
Vrátí pořadí čísla v seznamu čísel pro každý řádek v argumentu table
.
Syntaxe
RANKX(<table>, <expression>[, <value>[, <order>[, <ties>]]])
Parametry
table
Libovolný výraz DAX, který vrací tabulku dat, u kterých se výraz vyhodnotí.
expression
libovolný výraz DAX, který vrací jednu skalární hodnotu. Výraz se vyhodnocuje pro každý řádek table
, aby se vygenerovaly všechny možné hodnoty pro řazení. V části s poznámkami se dozvíte, jak porozumět chování funkce při expression
vyhodnocení BLANK.
value
(volitelné) Libovolný výraz DAX, který vrátí jednu skalární hodnotu, jejíž pořadí se má najít. V části s poznámkami se dozvíte, jak se funkce chová, když se ve výrazu nenajde value
.
Pokud parametr value
vynecháte, použije se místo toho hodnota výrazu na aktuálním řádku.
order
(volitelné) Hodnota, která určuje, jak se má seřadit value
, nízká až vysoká nebo vysoká až nízká:
hodnota | alternativní hodnota | Popis |
---|---|---|
0 (nula) | FALSE |
Seřadí hodnoty výrazu v sestupném pořadí. Pokud je hodnota rovna nejvyššímu číslu ve výrazu, RANKX vrátí hodnotu 1. Toto je výchozí hodnota, pokud je vynechán parametr order. |
0 | TRUE |
Seřadí výraz ve vzestupném pořadí. Pokud je hodnota rovna nejnižšímu číslu ve výrazu, RANKX vrátí hodnotu 1. |
ties
(volitelné) Výčet, který definuje, jak určit pořadí, když existují vazby.
výčet | Popis |
---|---|
Skip |
Další hodnota pořadí za tie je hodnota pořadí tie plus počet svázaných hodnot. Pokud je například pět (5) hodnot svázaných s pořadím 11, další hodnota obdrží pořadí 16 (11 + 5). Toto je výchozí hodnota při vynechání parametru ties . |
Dense |
Další hodnota pořadí za vazbou je další hodnota pořadí. Pokud je například pět (5) hodnot svázaných s pořadím 11, obdrží další hodnota pořadí 12. |
Návratová hodnota
Počet value
pořadí mezi všemi možnými hodnotami expression
vyhodnoceny pro všechny řádky table
čísel.
Poznámky
Pokud se
expression
nebovalue
vyhodnotí jako BLANK se považuje za 0 (nula) pro všechny výrazy, které mají za následek číslo, nebo jako prázdný text pro všechny textové výrazy.Pokud
value
nepatří mezi všechny možné hodnotyexpression
, RANKX dočasně přidávalue
k hodnotám zexpression
a znovu vyhodnotí RANKX, aby bylo možné určit správné pořadívalue
.Volitelné argumenty mohou být vynechány umístěním prázdné čárky (,) do seznamu argumentů, například
RANKX(Inventory, [InventoryCost],,,"Dense")
.Porovnání související s rovností (
=
,<
,>
,>=
a<=
) mezi hodnotami s datovým typem Desetinné číslo může potenciálně vrátit neočekávané výsledky při použití funkce RANKX. K nesprávným výsledkům může dojít, protože hodnoty s desetinným číslem jsou uloženy jako čísla s plovoucí desetinnou čárkou standardu IEEE Standard 754 a mají svá omezení v jejich přesnosti. Chcete-li zabránit neočekávaným výsledkům, změňte datový typ na pevných desetinných míst nebo vynucené zaokrouhlení pomocí ROUND.Tato funkce není podporována pro použití v režimu DirectQuery při použití v počítaných sloupcích nebo pravidlech zabezpečení na úrovni řádků (RLS).
Příklad
Následující počítaný sloupec v tabulce Produkty vypočítá pořadí prodeje pro každý produkt v internetovém kanálu.
= RANKX(ALL(Products), SUMX(RELATEDTABLE(InternetSales), [SalesAmount]))