WRank - scriptfunctie
WRank() evalueert de rijen van een tabel in het load-script en geeft voor elke rij de relatieve positie van de waarde van het veld die in het load-script wordt geëvalueerd weer. Bij de evaluatie van de tabel vergelijkt de functie het resultaat met het resultaat van de andere rijen die de huidige partitie bevatten, en retourneert de rangschikking van de huidige rij in het segment.
WRank kan alleen worden gebruikt in een Window-functie. De Window-functie moet een sorteertype en een sorteeruitdrukking bevatten. De rangschikking wordt toegepast op de sorteeruitdrukking.
Syntaxis:
WRank ([mode[, fmt]])
Retourgegevenstypen: dual
Argumenten:
Argumenten | Beschrijving |
---|---|
mode | Optioneel wordt de numerieke representatie van het resultaat van de functie aangegeven. |
fmt | Optioneel wordt de tekstuele representatie van het resultaat van de functie aangegeven. |
TOTAL |
Als de tabel eendimensionaal is of als het script wordt voorafgegaan door de kwalificatie TOTAL, wordt de functie geëvalueerd voor de hele kolom. Als de tabel of het equivalent van de tabel meerdere verticale dimensies heeft, omvat de huidige partitie alleen rijen met dezelfde waarden als de huidige rij in alle dimensiekolommen, met uitzondering van de kolom waarin de laatste dimensie wordt weergegeven in de onderlinge sorteervolgorde van de velden. |
De rangorde wordt geretourneerd als een duale waarde. Als elke rij een unieke rangschikking heeft, is dit een geheel getal tussen 1 en het aantal rijen in de huidige partitie.
Als meerdere rijen dezelfde rangschikking hebben, kan de tekstuele en numerieke representatie worden bestuurd met de parameters mode en fmt.
mode
Het eerste argument, mode, kan de volgende waarden hebben:
Waarde | Beschrijving |
---|---|
0 (standaard) |
Als alle rangnummers in de delende groep lager zijn dan de middenwaarde van de volledige rangschikking, krijgen alle rijen het laagste positienummer in de delende groep. Als alle rangnummers in de delende groep hoger zijn dan de middenwaarde van de volledige rangschikking, krijgen alle rijen het hoogste rangnummer in de delende groep. Als rangnummers in de delende groep zowel lager als hoger zijn dan de middenwaarde van de volledige rangschikking, krijgen alle rijen de waarde die overeenkomt met het gemiddelde van het hoogste en laagste rangnummer in de volledige partitie. |
1 | Laagste rangnummer in alle rijen. |
2 | Gemiddelde rangnummer in alle rijen. |
3 | Hoogste rangnummer in alle rijen. |
4 | Laagste rangnummer in eerste rij, vervolgens opgehoogd met één voor elke rij. |
fmt
Het tweede argument, fmt, kan de volgende waarden hebben:
Waarde | Beschrijving |
---|---|
0 (standaard) | Lage waarde - hoge waarde in alle rijen (bijvoorbeeld 3 - 4). |
1 | Lage waarde in alle rijen. |
2 | Lage waarde in eerste rij, leeg in alle volgende rijen. |
De volgorde van rijen voor mode 4 en fmt 2 wordt bepaald door de laadvolgorde van de tabelvelden.
Voorbeeld - Een gerangschikt veld toevoegen
Voorbeeld - Een gerangschikt veld toevoegen met fmt voor een afzonderlijk cijferresultaat
Voorbeeld - Een gerangschikt veld met meerdere partities toevoegen
Beperkingen
WRank heeft de volgende beperkingen:
-
Als uw fmt-waarde 0 is en u wilt het tekstuele gedeelte van het dual-resultaat voor WRank gebruiken, moet u Text() gebruiken met Window(WRank). Bijvoorbeeld: Text(Window(WRank(0), Unit, 'DESC', Age)) as UnitWRankedByAgeText.