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 weer die in het load-script wordt geëvalueerd. Bij het evalueren 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 binnen het segment.
WRank kunnen alleen worden gebruikt in een Window-functie. De Window-functie moet een sorteertype en sorteeruitdrukking omvatten. De rangschikking wordt toegepast op de sorteeruitdrukking.
Syntaxis:
WRank ([mode[, fmt]])
Retourgegevenstypen: dubbele waarde
Argumenten:
Argument | Beschrijving |
---|---|
mode | Geeft de numerieke representatie aan van het resultaat van de functie (optioneel). |
fmt | Geeft de tekstrepresentatie aan van het resultaat van de functie (optioneel). |
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 dubbele 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 resultaat met één cijfer
Voorbeeld: een gerangschikt veld met meerdere partities
Beperkingen
WRank heeft de volgende beperkingen:
-
Als uw fmt-waarde 0 is en u het tekstgedeelte van de dubbele resultaat wilt gebruiken voor WRank, moet u Text() met Window(WRank) gebruiken. Bijvoorbeeld: Text(Window(WRank(0), Unit, 'DESC', Age)) as UnitWRankedByAgeText.