Sdílet prostřednictvím


RANK

platí pro:počítaný sloupecPočítaná tabulkaMeasure vizuálu

Vrátí pořadí aktuálního kontextu v zadaném oddílu seřazené podle zadaného pořadí. If nebyla nalezena shoda, pak rank je blank.

Syntax

RANK ( [<ties>][, <relation> or <axis>][, <orderBy>][, <blanks>][, <partitionBy>][, <matchBy>][, <reset>] )

Parametry

Semestr Definice
ties (Volitelné) Definuje způsob zpracování řazení, když jsou dva or více řádků svázané.
If zadané, podporovaná value je buď HUSTÁ, or PŘESKOČIT.
If vynecháno:
– výchozí hodnoty přeskočit
relation (Volitelné) Výraz tabulky, ze kterého se vrátí výstupní řádek.
If zadané sloupce all v orderByandpartitionBy musí pocházet.
If vynecháno:
- orderBy musí být explicitně zadán.
– AllorderByandpartitionBy sloupce musí být plně kvalifikované and pocházejí z jedné tabulky.
– výchozí hodnota je ALLSELECTED() sloupců all v orderByandpartitionBy.
axis (Volitelné) Osa ve vizuálním obrazci. Dostupné pouze ve vizuálních výpočtech, and nahrazuje relation.
orderBy (Volitelné) Klauzule ORDERBY() obsahující sloupce, které define způsob řazení jednotlivých oddílů.
If vynecháno:
- relation musí být explicitně zadán.
– Výchozí nastavení řazení podle každého sloupce v relation, který je not již zadán v partitionBy.
blanks (Volitelné) Výčet, který definuje, jak zpracovat blankvalues při řazení relationoraxis.
podporované values jsou:
  • DEFAULT (výchozí value), kde je chování číselného valuesblankvalues seřazeno mezi nulou and zápornými values. Chování řetězců je blankvalues jsou seřazeny před all řetězce, včetně prázdných řetězců.
  • FIRST, prázdné hodnoty jsou vždy seřazeny na začátku bez ohledu na vzestupné or sestupné pořadí řazení.
  • LAST, prázdné hodnoty jsou vždy seřazeny na konci bez ohledu na vzestupné or sestupné pořadí řazení.

Poznámka: Pokud jsou blanks parametr and prázdné hodnoty ve funkci ORDERBY() () u jednotlivých výrazů, blanks u jednotlivých výrazů orderBy má prioritu pro příslušný výraz orderBy, andorderBy výrazy bez zadání blanks budou respektovat parametr blanks u nadřazené funkce.
partitionBy (Volitelné) Klauzule () obsahující sloupce, které způsob rozdělení . If vynecháme, relation se považuje za jeden oddíl.
matchBy (Volitelné) Klauzule MATCHBY() obsahující sloupce, které define, jak se shodují s daty and identifikovat aktuální řádek.
reset (Volitelné) K dispozici pouze ve vizuálních výpočtech. Označuje if resetování výpočtů and na jaké úrovni hierarchie sloupců obrazce vizuálu. Akceptované values jsou: odkaz na pole na sloupec v aktuálním obrazci vizuálu, NONE (výchozí), LOWESTPARENT, HIGHESTPARENT, or celé číslo. Chování závisí na celočíselném sign:
– If není or vynechán, výpočet not resetuje. Ekvivalent NONE.
– If kladné, celé číslo identifikuje sloupec začínající od nejvyšší, nezávisle na agregaci. HIGHESTPARENT odpovídá 1.
– If záporné, celé číslo identifikuje sloupec počínaje nejnižším vzhledem k aktuálnímu agregačnímu intervalu. LOWESTPARENT je ekvivalentní -1.

Vrácení value

Číslo rank pro aktuální kontext.

Poznámky

  • Každý sloupec orderBy, partitionBy, andmatchBy musí mít odpovídající vnější value, aby pomohl define aktuálnímu řádku, na kterém se má pracovat, s následujícím chováním:

    • If existuje přesně jeden odpovídající vnější sloupec, použije se jeho value.
    • If neexistuje odpovídající vnější sloupec a pak:
      • RANK first určit allorderBy, partitionBy, andmatchBy sloupce, které nemají odpovídající vnější sloupec.
      • Pro každou kombinaci existujících values pro tyto sloupce v RANK nadřazeného kontextu se RANK vyhodnotí and se vrátí řádek.
      • RANKkonečný výstup je číslo rank.
  • If matchBy je k dispozici, RANK se pokusí použít sloupce v matchByandpartitionBy k přizpůsobení aktuálního řádku.

  • If sloupce zadané v rámci orderByandpartitionBy nemohou jednoznačně identifikovat každý řádek v relation, pak dva or více řádků mohou mít stejné pořadí and pořadí bude určeno parametrem vazby.

  • RANK vrátí blankvalue pro řádky souhrnů. Doporučujeme výraz důkladně otestovat.

  • RANK porovnává not s RANKX jako SUM porovnává s SUMX.

  • reset lze použít pouze ve vizuálních výpočtech, and nelze použít v kombinaci s orderByorpartitionBy. If reset je k dispozici, axis lze zadat, ale relation nelze.

Příklad 1 – počítaný sloupec

Následující dotaz DAX:

EVALUATE
ADDCOLUMNS(
    'DimGeography',
    "Rank",
    RANK(
    	DENSE,
    	'DimGeography',
    	ORDERBY(
    		'DimGeography'[StateProvinceName], desc,
    		'DimGeography'[City], asc),
        LAST,
    	PARTITIONBY(
    		'DimGeography'[EnglishCountryRegionName])))
ORDER BY [EnglishCountryRegionName] asc, [StateProvinceName] desc, [City] asc

Vrátí tabulku, která seřadí každou zeměpisnou oblast se stejným názvem EnglishCountryRegionName podle hodnoty StateProvinceName and City. Blank orderBy sloupec values jsou seřazeny na konci.

Příklad 2 – výpočet vizuálu

Následující vizuální výpočet DAX dotazy:

SalesRankWithinYear = RANK(DENSE, ORDERBY([SalesAmount], DESC), PARTITIONBY([CalendarYear]))

SalesRankAllHistory = RANK(DENSE, ORDERBY([SalesAmount], DESC))

Vytvořte dva sloupce, které rank každý month celkovým prodejem, a to jak v rámci každého year, and celou historii.

Následující snímek obrazovky ukazuje matici vizuálů and výrazu first vizuálního výpočtu:

DAX výpočtu vizuálu

INDEX ORDERBY PARTITIONBY WINDOW ROWNUMBER