Gå till huvudinnehåll Gå till ytterligare innehåll

Rank - diagramfunktion

Rank() utvärderar raderna i diagrammet i uttrycket, och visar för varje rad den relativa placeringen av dimensionsvärdet utvärderat i uttrycket. Funktionen utvärderar uttrycket, jämför resultatet med resultaten på de andra raderna som innehåller det aktuella kolumnsegmentet och returnerar rangordningsnumret för den aktuella raden inom segmentet.

Kolumnsegment

En tabell som visar kolumnsegment

För andra diagram än tabeller definieras det aktuella kolumnsegmentet som det visas i diagrammets raka tabellmotsvarighet.

Syntax:  

Rank([TOTAL] expr[, mode[, fmt]])

Returnerad datatyp: dual

Argument:  

Argument
Argument Beskrivning
expr Det uttryck eller fält som innehåller de data som ska mätas.
mode Anger resultatets talrepresentation.
fmt Anger resultatets textrepresentation.
TOTAL

Om diagrammet är endimensionellt eller om uttrycket föregås av kvalificeraren TOTAL utvärderas funktionen längs med hela kolumnen. Om tabellen eller diagrammets tabellmotsvarighet har flera vertikala dimensioner, inbegriper det aktuella kolumnsegmentet endast rader som har samma värden som den aktuella raden i samtliga dimensionskolumner utom den kolumn som visar den sista dimensionen i fältens inbördes sorteringsordning.

Definiera aggregeringens omfattning

Rangordningen returneras som ett dualt värde, som i det fall där varje rad har en unik rangordning är ett heltal mellan 1 och antalet rader i det aktuella kolumnsegmentet.

Om flera rader har samma rangordningsnummer, kan text- och talrepresentationerna för gruppen kontrolleras med parametrarna mode och fmt.

mode

Det andra argumentet, mode, kan ta följande värden:

Exempel med mode
Värde Beskrivning
0 (standard)

Om alla rangordningsnummer inom gruppen är lägre än det mellersta värdet i den totala rangordningen, får alla rader i gruppen det lägsta rangordningsnumret inom gruppen.

Om alla rangordningsnummer inom gruppen är högre än det mellersta värdet i den totala rangordningen, får alla rader i gruppen det högsta rangordningsnumret inom gruppen.

Om rangordningsnumren inom gruppen spänner över det mellersta värdet i den totala rangordningen, får alla rader i gruppen ett värde som motsvarar medelvärdet av det högsta och det lägsta rangordningsnumret i hela kolumnsegmentet.

1 Lägsta rangordningstalet ges åt alla rader.
2 Medelvärdet ges som rangordningstal åt alla rader.
3 Högsta rangordningstalet ges åt alla rader.
4 Lägsta rangordningstalet på första raden, därefter ökning med ett för varje rad
fmt

Det tredje argumentet, fmt, kan ta följande värden:

Exempel med fmt
Värde Beskrivning
0 (standard) Lägsta värdet - högsta värdet på alla rader (exempelvis 3 - 4).
1 Lägsta värdet på alla rader.
2 Lägsta värdet på första raden, tom sträng på övriga rader.

Ordningen på rader inom mode 4 och fmt2 bestäms av sorteringsordningen som angivits för dimensionerna i diagrammet.

Exempel och resultat:  

Skapa två visualiseringar från dimensionerna Product och Sales och ytterligare en från Product och UnitSales. Lägg till mått på det sätt som visas i nedanstående tabell.

Rangordningsexempel
Exempel Resultat

Exempel 1. Skapa en tabell med dimensionerna Customer och Sales och måttet Rank(Sales)

Resultatet beror på dimensionernas sorteringsordning. Om tabellen sorteras på Customer listas i tabellen alla värden för Sales för Astrida, sedan Betacab och så vidare. Resultaten för Rank(Sales) visar 10 för Sales-värde 12, 9 för Sales-värde 13, och så vidare, med rangordningsvärdet 1 returnerat för Sales-värde 78. Nästa kolumnsegment börjar med Betacab, där det första värdet för Sales i segmentet är 12. Rangordningsvärdet för Rank(Sales) för detta ges som 11.

Om tabellen sorteras på Sales består kolumnsegmenten av värdena för Sales och motsvarande Customer. Eftersom det finns två Sales-värden 12 (för Astrida och Betacab), är Rank(Sales)-värdet för det kolumnsegmentet 1-2 för varje Customer-värde. Detta beror på att det finns två värden för Customer för Sales-värdet 12. Om det hade funnits 4 värden skulle resultatet blivit 1–4 för alla rader. Detta visar hur resultatet ser ut för standardvärdet (0) för argumentet fmt.

Exempel 2. Ersätt kunddimensionen med produktdimensionen och lägg till måttet Rank(Sales,1,2) Detta returnerar 1 på den första raden för varje kolumnsegment och lämnar alla andra rader tomma eftersom argumenten mode och fmt är inställda på 1 respektive 2.

Resultat för exempel 1, med tabellen sorterad efter Customer:

Resultattabell
Customer Sales Rank(Sales)
Astrida 12 10
Astrida 13 9
Astrida 20 8
Astrida 22 7
Astrida 45 6
Astrida 46 5
Astrida 60 4
Astrida 65 3
Astrida 70 2
Astrida 78 1
Betcab 12 11

Resultat för exempel 1, med tabellen sorterad efter Sales:

Resultattabell
Customer Sales Rank(Sales)
Astrida 12 1-2
Betacab 12 1-2
Astrida 13 1
Betacab 15 1
Astrida 20 1
Astrida 22 1-2
Betacab 22 1-2
Betacab 24 1-2
Canutility 24 1-2

 

Data som används i exempel:

ProductData:

Load * inline [

Customer|Product|UnitSales|UnitPrice

Astrida|AA|4|16

Astrida|AA|10|15

Astrida|BB|9|9

Betacab|BB|5|10

Betacab|CC|2|20

Betacab|DD|0|25

Canutility|AA|8|15

Canutility|CC|0|19

] (delimiter is '|');

 

Sales2013:

crosstable (Month, Sales) LOAD * inline [

Customer|Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec

Astrida|46|60|70|13|78|20|45|65|78|12|78|22

Betacab|65|56|22|79|12|56|45|24|32|78|55|15

Canutility|77|68|34|91|24|68|57|36|44|90|67|27

Divadip|57|36|44|90|67|27|57|68|47|90|80|94

] (delimiter is '|');

 

Mer information

 

Var den här sidan till hjälp för dig?

Om du hittar några fel på denna sida eller i innehållet – ett stavfel, ett steg som saknas eller ett tekniskt fel – berätta för oss så att vi kan blir bättre!