Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A következőkre vonatkozik:
Számított oszlop
Számított tábla
Mér
Vizualizációs számítás
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 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:
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 rangszáma.
Megjegyzések
Minden
orderBy,partitionByésmatchByoszlopnak 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ésmatchByoszlopot 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.
-
RANK először az összes olyan
Ha
matchByjelen van, akkor RANK amatchByoszlopait fogja használni, éspartitionByaz aktuális sor idenfity-jének létrehozásához.Ha a
orderByés apartitionBymegadott oszlopok nem azonosítják egyedilegrelationminden 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.
resetcsak vizualizációs számításokhoz használható, és nem használhatóorderByvagypartitionByegyütt. Haresetvan,axismegadható, derelationnem.Ha az érték
resetabszolút (azaz pozitív egész szám vagyHIGHESTPARENTmező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',
"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ó: