Del via


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 tablefor 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 eller value 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 for expression, føjer RANKX midlertidigt value til værdierne fra expression og evaluerer RANKX igen for at bestemme den korrekte rangering af value.

  • 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]))