Megosztás a következőn keresztül:


RANK

A következőkre vonatkozik:Számított oszlopSzámított táblaMértékVizualizációszámítási

Az aktuális környezet rangsorát adja vissza a megadott partíción belül, a megadott sorrend szerint rendezve. Ha nem található egyezés, akkor a rangsor üres.

Szintaxis

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

Paraméterek

Kifejezés Definíció
ties (Nem kötelező) Meghatározza, hogyan kezelhető a rangsor, ha két vagy több sor van kötve.
Ha meg van adva, a támogatott érték a SŰRŰ vagy a SKIP.
Ha nincs megadva:
– Alapértelmezés szerint SKIP
relation (Nem kötelező) Egy táblakifejezés, amelyből a kimeneti sor vissza lesz adva.
Ha meg van adva, a orderBy és a partitionBy összes oszlopának onnan kell származnia.
Ha nincs megadva:
- orderBy explicit módon kell megadni.
– Minden orderBy és partitionBy oszlopnak teljes mértékben minősítettnek kell lennie, és egyetlen táblából kell származnia.
– A orderBy és partitionByösszes oszlopának alapértelmezett értéke ALLSELECTED().
axis (Nem kötelező) A vizualizáció alakzatának tengelye. Csak vizuális számításokban érhető el, és lecseréli relation.
orderBy (Nem kötelező) Az egyes partíciók rendezését meghatározó oszlopokat tartalmazó ORDERBY() záradék.
Ha nincs megadva:
- relation explicit módon kell megadni.
– Alapértelmezés szerint a relation minden olyan oszlopa rendezi a sorrendet, amely még nincs megadva a partitionBy.
blanks (Nem kötelező) Enumerálás, amely meghatározza, hogyan kezelhetők az üres értékek a relation vagy axisrendezésekor.
A támogatott értékek a következők:
  • DEFAULT (az alapértelmezett érték), ahol a numerikus értékek viselkedése üres érték, nulla és negatív értékek között van rendezve. A sztringek viselkedése üres érték, amely az összes sztring előtt van rendezve, beleértve az üres sztringeket is.
  • FIRSTaz üres cellák mindig az elején vannak rendezve, a növekvő vagy csökkenő rendezési sorrendtől függetlenül.
  • LASTaz üres cellák mindig a végén vannak rendezve, a növekvő vagy csökkenő rendezési sorrendtől függetlenül.

Vegye figyelembe, hogy ha az egyes kifejezések ORDERBY() függvényének blanks paramétere és üres mezői is meg vannak adva, blanks az egyes orderBy-kifejezések prioritást élveznek a megfelelő orderBy kifejezésnél, és a blanks megadása nélküli OrderBy-kifejezések tiszteletben tartják a szülőfüggvény blanks paraméterét.
partitionBy (Nem kötelező) A relation particionálását meghatározó oszlopokat tartalmazó PARTITIONBY() záradék. Ha nincs megadva, a relation egyetlen partícióként lesz kezelve.
matchBy (Nem kötelező) Egy MATCHBY() záradék, amely azokat az oszlopokat tartalmazza, amelyek meghatározzák az adatok egyeztetését és az aktuális sor azonosítását.
reset (Nem kötelező) Csak vizuális számításokban érhető el. Azt jelzi, hogy a számítás alaphelyzetbe áll-e, és a vizualizáció alakzatának oszlophierarchiájának melyik szintjén. Az elfogadott értékek a következők: az aktuális vizualizáció alakzatának egy oszlopára mutató mezőhivatkozás, NONE (alapértelmezett), LOWESTPARENT, HIGHESTPARENTvagy egész szám. A viselkedés a következő egész számjeltől függ:
– Ha nulla vagy nincs megadva, a számítás nem állítható vissza. Egyenértékű NONE.
– Ha pozitív, az egész szám a legmagasabbtól kezdődő, a szemcséktől független oszlopot azonosítja. HIGHESTPARENT 1-nek felel meg.
– Ha negatív, az egész szám a legalacsonyabbtól kezdődő oszlopot azonosítja az aktuális szemcséhez viszonyítva. LOWESTPARENT -1-nek felel meg.

Visszaadott érték

Az aktuális környezet rangszáma.

Megjegyzések

  • Minden orderBy, partitionByés matchBy oszlopnak megfelelő külső értékkel kell rendelkeznie ahhoz, hogy meghatározza az aktuális sort, amelyen működni kíván, az alábbi viselkedéssel:

    • Ha pontosan egy megfelelő külső oszlop van, annak értékét használja a rendszer.
    • Ha nincs megfelelő külső oszlop, akkor:
      • RANK először az összes olyan orderBy, partitionByés matchBy oszlopot határozza meg, amelyekhez nincs megfelelő külső oszlop.
      • Ezen oszlopok meglévő értékeinek minden kombinációjához RANK szülőkörnyezetben a rendszer kiértékeli a RANK, és visszaad egy sort.
      • RANKvégső kimenete rangszám.
  • Ha matchBy jelen van, akkor RANK a matchBy oszlopait fogja használni, és partitionBy az aktuális sor idenfity-jének létrehozásához.

  • Ha a orderBy és a partitionBy megadott oszlopok nem azonosítják egyedileg relationminden sorát, akkor két vagy több sor azonos rangsorolással rendelkezhet, és a rangsort a kapcsolati paraméter határozza meg.

  • RANK az összes sor üres értékét adja vissza. Javasoljuk, hogy alaposan tesztelje a kifejezést.

  • RANK nem hasonlít a RANKXSUMSUMX.

  • reset csak vizualizációs számításokhoz használható, és nem használható orderBy vagy partitionByegyütt. Ha reset van, axis megadható, de relation nem.

1. példa – számított oszlop

A következő DAX lekérdezés:

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

Egy táblát ad vissza, amely minden földrajzi helyet ugyanazzal a EnglishCountryRegionName névvel rangsorol a StateProvinceName és a City szerint. Az üres orderBy oszlopértékek a végén vannak rendezve.

2. példa – vizualizációszámítás

A következő vizualizációszámítás DAX lekérdezéseket:

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

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

Hozzon létre két oszlopot, amelyek havonta rangsorolják a teljes értékesítést, mind az év során, mind a teljes előzmények alapján.

Az alábbi képernyőképen a vizualizációs mátrix és az első vizualizáció számítási kifejezés látható:

DAX vizualizációszámítási

INDEX ORDERBY PARTITIONBY WINDOW ROWNUMBER