WRank - skriptfunktion
WRank() utvärderar raderna i en tabell i laddningsskriptet, och visar för varje rad den relativa placeringen av fältvärdet som utvärderades i laddningsskriptet. När tabellen utvärderas jämför funktionen resultatet med resultaten på de andra raderna som innehåller det aktuella kolumnsegmentet och returnerar rangordningen för den aktuella raden inom segmentet.
WRank kan bara användas i en Window-funktion. Window-funktionen måste inkludera en sorteringstyp och ett sorteringsuttryck. Rangordningen tillämpas på sorteringsuttrycket.
Syntax:
WRank ([mode[, fmt]])
Returnerad datatyp: dual
Argument:
Argument | Beskrivning |
---|---|
mode | Anger vid behov talrepresentationen av resultatet av funktionen. |
fmt | Anger vid behov textrepresentationen av resultatet av funktionen. |
TOTAL |
Om tabellen är endimensionell eller om skriptet föregås av kvalificeraren TOTAL utvärderas funktionen över hela kolumnen.Om tabellen eller diagrammets tabellmotsvarighet har flera vertikala dimensioner, inbegriper den aktuella partitionen 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. |
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 den aktuella partitionen.
Om flera rader har samma rangordningsnummer, kan text- och talrepresentationerna för gruppen kontrolleras med parametrarna mode och fmt.
mode
Det första argumentet, mode, kan ta följande värden:
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 partitionen. |
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 andra argumentet, fmt, kan ta följande värden:
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 fmt 2 bestäms av laddningsordningen som angivits för tabellfälten.
Exempel - Lägga till ett rangordnat fält
Exempel - lägga till ett rangordnat till med hjälp av fmt för ett ensiffrigt resultat
Exempel - lägga till ett rangordnat fält med flera partitioner
Begränsningar
WRank har följande begränsningar:
-
Om ditt fmt-värde är 0 och du vill använda textdelen av det duala resultatet för WRank måste du använda Text() med Window(WRank). Exempelvis: Text(Window(WRank(0), Unit, 'DESC', Age)) as UnitWRankedByAgeText.