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:
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ó: