RANKX
gælder for:beregnet kolonneberegnet tabelberegning af målingvisualisering
Returnerer rangeringen af et tal på en liste over tal for hver række i argumentet table
.
Syntaks
RANKX(<table>, <expression>[, <value>[, <order>[, <ties>]]])
Parametre
table
Ethvert DAX udtryk, der returnerer en tabel med data, som udtrykket evalueres for.
expression
Ethvert DAX udtryk, der returnerer en enkelt skalarværdi. Udtrykket evalueres for hver række i table
for at generere alle mulige værdier for rangering. Se afsnittet med bemærkninger for at forstå funktionsfunktionsmåden, når expression
evalueres til BLANK.
value
(valgfrit) Ethvert DAX udtryk, der returnerer en enkelt skalarværdi, hvis rangering skal findes. Se afsnittet med bemærkninger for at forstå funktionens funktionsmåde, når value
ikke findes i udtrykket.
Når parameteren value
udelades, bruges værdien af udtrykket på den aktuelle række i stedet.
order
(valgfrit) En værdi, der angiver, hvordan du rangerer value
, lav til høj eller høj til lav:
værdi | alternativ værdi | Beskrivelse |
---|---|---|
0 (nul) | FALSE |
Rangerer i faldende rækkefølge af værdier for udtryk. Hvis værdien er lig med det højeste tal i udtrykket, returnerer RANKX 1. Dette er standardværdien, når ordreparameteren udelades. |
0 | TRUE |
Rangerer i stigende rækkefølge af udtryk. Hvis værdien er lig med det laveste tal i udtrykket, returnerer RANKX 1. |
ties
(valgfrit) En optælling, der definerer, hvordan rangering bestemmes, når der er bånd.
Optælling | Beskrivelse |
---|---|
Skip |
Den næste rangeringsværdi efter et slips er rangeringsværdien for slipset plus antallet af bundne værdier. Hvis fem (5) værdier f.eks. er bundet med en rangering på 11, modtager den næste værdi en rangering på 16 (11 + 5). Dette er standardværdien, når ties parameter udelades. |
Dense |
Den næste rangeringsværdi efter et slips er den næste rangeringsværdi. Hvis f.eks. fem (5) værdier er bundet med en rangering på 11, modtager den næste værdi en rangering på 12. |
Returværdi
Rangeringsnummeret for value
blandt alle mulige værdier for expression
evalueret for alle rækker med table
tal.
Bemærkninger
Hvis
expression
ellervalue
evalueres til BLANK behandles det som et 0 (nul) for alle udtryk, der resulterer i et tal, eller som en tom tekst for alle tekstudtryk.Hvis
value
ikke er blandt alle mulige værdier forexpression
, føjer RANKX midlertidigtvalue
til værdierne fraexpression
og evaluerer RANKX igen for at bestemme den korrekte rangering afvalue
.Valgfri argumenter kan springes over ved at placere et tomt komma (,) på argumentlisten, f.eks.
RANKX(Inventory, [InventoryCost],,,"Dense")
.Lighedsrelaterede sammenligninger (
=
,<
,>
,>=
og<=
) mellem værdier med datatypen decimaltal kan potentielt returnere uventede resultater, når RANKX funktion bruges. Der kan forekomme forkerte resultater, fordi værdier med decimaltal datatype gemmes som flydende tal i IEEE Standard 754 og har indbyggede begrænsninger i deres præcision. Hvis du vil undgå uventede resultater, skal du ændre datatypen til faste decimaltal eller foretage en tvungen afrunding ved hjælp af ROUND.Denne funktion understøttes ikke til brug i DirectQuery-tilstand, når den bruges i beregnede kolonner eller RLS-regler (row-level security).
Eksempel
Følgende beregnede kolonne i tabellen Products beregner salgsrangeringen for hvert produkt i internetkanalen.
= RANKX(ALL(Products), SUMX(RELATEDTABLE(InternetSales), [SalesAmount]))