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


ROWNUMBER

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

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

Szemantika

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

Paraméterek

Időszak Definíció
relation (Nem kötelező) Egy táblakifejezés, amelyből a kimeneti sor vissza lesz adva. Ha vizuális számításokban használják, ez a paraméter elfogadja a vizualizáció alakzatának tengelyét.
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 ALLSELECTED és orderByösszes oszlopának alapértelmezett értéke partitionBy().
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 blanks függvényének ORDERBY paramétere és üres mezői is meg vannak adva, 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 PARTITIONBY particionálását meghatározó oszlopokat tartalmazó 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 egyezé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 sorszámszá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:
    • ROWNUMBER 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 ROWNUMBER szülőkörnyezetben a rendszer kiértékeli a ROWNUMBER, és visszaad egy sort.
    • ROWNUMBERvégső kimenete ezeknek a soroknak az egyesítése.
  • Ha egynél több megfelelő külső oszlop van, a függvény hibát ad vissza.

Ha matchBy jelen van, akkor ROWNUMBER a matchBy oszlopait fogja használni, és partitionBy az aktuális sor idenfity-jének létrehozásához. Ha a orderBy és partitionBy megadott oszlopok nem azonosítják egyedileg relationminden sorát, akkor:

  • ROWNUMBER megpróbálja megtalálni az összes sor egyedi azonosításához szükséges minimális számú további oszlopot.
  • Ha ilyen oszlopok találhatók, ROWNUMBER
    • Próbálja meg megkeresni az összes sor egyedi azonosításához szükséges minimális számú további oszlopot.
    • Ezeket az új oszlopokat automatikusan hozzáfűzi orderBy záradékhoz.
    • Rendezze az egyes partíciókat ezzel az új orderBy oszlopkészlettel.
  • Ha ezek az oszlopok nem találhatók, és a függvény futásidőben döntetlent észlel, a rendszer hibát ad vissza.

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.

Ha az érték reset abszolút (azaz pozitív egész szám vagy HIGHESTPARENT mezőhivatkozás), és a számítást a hierarchia célszintjén vagy felett értékeli ki, a számítás minden egyes elemnél alaphelyzetbe áll. Vagyis a függvény kiértékelése egy olyan partíción belül történik, amely csak az adott elemet tartalmazza.

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

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

EVALUATE
ADDCOLUMNS(
    'DimGeography',
    "UniqueRank",
    ROWNUMBER(
    	'DimGeography',
    	ORDERBY(
    		'DimGeography'[StateProvinceName], desc,
    		'DimGeography'[City], asc),
    	PARTITIONBY(
    		'DimGeography'[EnglishCountryRegionName])))
ORDER BY [EnglishCountryRegionName] asc, [StateProvinceName] desc, [City] asc

Egy táblát ad vissza, amely az egyes földrajzi helyeket a StateProvinceName és a City szerint azonos EnglishCountryRegionName névvel rangsorolja.

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

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

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

SalesRankAllHistory = ROWNUMBER(ORDERBY([SalesAmount], DESC))

Hozzon létre két oszlopot, amelyek minden hónapban egyedileg rangsorolják az összes értékesítést, mind az év során, mind a teljes előzmény 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ós számítás

INDEX ORDERBY PARTITIONBY WINDOW RANK