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


ROWNUMBER

A következőre vonatkozik: Számított oszlop Számított tábla Mérték vizualizáció számítása

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.

Syntax

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

Paraméterek

Időszak Definíció
reláció (Nem kötelező) Egy táblakifejezés, amelyből a kimeneti sor vissza lesz adva.
Ha meg van adva, az <orderBy> és <a partitionBy> összes oszlopának onnan kell származnia.
Ha nincs megadva:
- <az orderBy-t> 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.
- Az összes oszlop ALLSELECTED() értéke az orderBy> és <partitionBy> sorrendben<.
tengely (Nem kötelező) A vizualizáció alakzatának tengelye. Csak vizuális számításokban érhető el, és lecseréli a relációt<>.
orderBy (Nem kötelező) Egy ORDERBY() záradék, amely az egyes partíciók rendezését meghatározó oszlopokat tartalmazza.
Ha nincs megadva:
- <a relációt> explicit módon kell megadni.
- Alapértelmezés szerint a partitionBy-ben még nem megadott összes oszlop> sorrendje<<.>
Üres (Nem kötelező) Enumerálás, amely meghatározza, hogyan kell kezelni az üres értékeket a rendezés során.
A támogatott értékek a következők:
  • ALAPÉRTELMEZETT (alapértelmezett érték), ahol a numerikus értékek viselkedése üres érték, nulla és negatív érték 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.
  • ELŐSZÖR az üres cellák mindig az elején vannak rendezve, függetlenül attól, hogy növekvő vagy csökkenő rendezési sorrendben vannak-e.
  • LAST, blanks always ordered on the end, függetlenül attól, hogy növekvő vagy csökkenő rendezési sorrendben.

Vegye figyelembe, hogy ha <az egyes kifejezésekHEZ tartozó ORDERBY() függvény üres> paramétere és üres értéke is meg van adva, <akkor az egyes orderBy-kifejezések üres> mezői elsőbbséget élveznek a megfelelő orderBy-kifejezésnél, az üresek nélküli <> OrderBy-kifejezések pedig a szülőAblak függvény üres> paraméterét fogják figyelembe venni<.
partitionBy (Nem kötelező) A partíciók particionálásának> módját <meghatározó oszlopokat tartalmazó PARTITIONBY() záradék.
Ha nincs megadva, <a kapcsolat> 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.
átszed (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: NONE, LOWESTPARENT, HIGHESTPARENT vagy egész szám. A viselkedés az egész szám jelétől függ:
– Ha nulla vagy nincs megadva, a számítás nem állítható vissza. A NONE értéknek megfelelő.
- Ha pozitív, az egész szám azonosítja az oszlopot a legmagasabbtól kezdve, a szemcséktől függetlenül. A HIGHESTPARENT az 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. A LOWESTPARENT értéke -1.

Visszaadott érték

Az aktuális környezet sorszámszáma.

Megjegyzések

Minden <orderBy>, <partitionBy> és <matchBy> oszlopnak rendelkeznie kell egy megfelelő külső értékkel, amely segít meghatározni az aktuális sort, amelyen működni kíván, a következő 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:
    • A ROWNUMBER először meghatározza az összes <orderBy>, <partitionBy> és <matchBy> oszlopot, amelyekhez nincs megfelelő külső oszlop.
    • A ROWNUMBER szülőkörnyezetben lévő oszlopok meglévő értékeinek minden kombinációjánál a SORSZÁMBER kiértékelése és egy sor visszaadása történik.
    • A ROWNUMBER vé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 <a matchBy> jelen van, akkor a ROWNUMBER a matchBy> és <a partitionBy> oszlopait <fogja használni az aktuális sor idenfitásához.
Ha az orderBy> és <a partitionBy> függvényben <megadott oszlopok nem tudják egyedileg azonosítani a reláció> összes sorát<, akkor:

  • A ROWNUMBER az egyes sorok egyedi azonosításához szükséges minimális számú további oszlopot próbálja megtalálni.
  • Ha ilyen oszlopok találhatók, a ROWNUMBER függvény
    • 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 az 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.

<a visszaállítás> csak vizualizációs számításokban használható, és nem használható az orderBy> vagy <a partitionBy> együttes használatával<. Ha <az alaphelyzetbe állítás> jelen van, a tengely> megadható, <de <a reláció> nem.

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ási DAX-lekérdezések:

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ó kiszámítása

INDEX
ORDERBY
PARTITIONBY
ABLAK
RANG