Ranglisten im Dashboard: Teilen sich gleiche Werte einen Platz?
Bevor Sie eine Rangliste für eine Geschäfts-App beauftragen, entscheiden Sie, was bei gleichen Kennzahlen passiert. Zwei Einträge können denselben Rang erhalten oder trotz Gleichstands unterschiedliche Zeilennummern bekommen. Auch nach einem geteilten Platz gibt es zwei gebräuchliche Zählweisen. Keine davon sollte zufällig aus der technischen Sortierung entstehen.
Es geht hier um die Bedeutung einer angezeigten Rangfolge, nicht um eine Empfehlung, Beschäftigte anhand eines einzelnen Werts zu bewerten. Vergütung, Auszeichnungen oder andere folgenreiche Entscheidungen brauchen eigene fachliche Regeln.
Drei Zahlenfolgen, drei unterschiedliche Aussagen
Nehmen wir eine erfundene Vergleichsliste mit den Werten 90, 90 und 70, absteigend sortiert. Die ersten beiden Einträge sind nach dieser Kennzahl gleichauf.
- Eine reine Zeilennummerierung zeigt 1, 2, 3. Sie nummeriert die Positionen der angezeigten Zeilen.
- Eine Rangzählung mit Lücken zeigt 1, 1, 3. Zwei Einträge belegen gemeinsam den ersten Platz; danach folgt der dritte.
- Eine Rangzählung ohne Lücken zeigt 1, 1, 2. Der nächste unterschiedliche Wert erhält den zweiten Rang.
Diese Folgen wurden für das Beispiel separat berechnet. Die PostgreSQL-18-Dokumentation unterscheidet entsprechend row_number, rank und dense_rank: Zeilennummer, Rang mit Lücken und Rang ohne Lücken. Das belegt die technischen Möglichkeiten, entscheidet aber nicht, welche davon Ihre betriebliche Frage beantwortet.
Lassen Sie die gewünschte Zählweise im Briefing benennen. Eine Spalte mit „Nr.“ vermittelt etwas anderes als eine Spalte mit „Rang“. Erklären Sie geteilte Plätze dort, wo Nutzer sie benötigen, statt nur den Funktionsnamen der Datenbank zu dokumentieren.
Was genau zählt als Gleichstand?
Die PostgreSQL-Referenz beschreibt gleichrangige Zeilen anhand der für die Fensterfunktion verwendeten Sortierspalten. Für Ihre Anwendung ist deshalb entscheidend, welche Werte tatsächlich in die Rangbildung eingehen.
Wenn der fachliche Rang nur von einer Kennzahl abhängt, darf eine zusätzlich eingefügte eindeutige Datensatz-ID nicht unbemerkt aus einem Gleichstand zwei unterschiedliche Ränge machen. Eine stabile Reihenfolge der Zeilen ist trotzdem sinnvoll. Lassen Sie fachliche Rangbildung und zusätzliche Anzeigesortierung bewusst auseinanderhalten.
Besprechen Sie außerdem gerundete Anzeigen. Zwei sichtbar gleiche Werte können intern unterschiedlich sein. Legen Sie fest, ob der Rang auf den ungerundeten Ausgangswerten oder einem ausdrücklich definierten gerundeten Ergebnis beruht. Die Anzeige sollte einen Unterschied nicht behaupten, ohne dessen Grundlage verständlich zu machen.
Eine Toleranz für „praktisch gleich“ ist wiederum eine eigene Regel. Sie ergibt sich nicht automatisch aus dem gewählten Rangverfahren. Falls sie gebraucht wird, muss sie präzise definiert und mit Grenzfällen geprüft werden.
Welcher Vergleichsgruppe gehört der Rang?
Eine Filiale kann innerhalb ihrer Region auf Rang eins liegen, aber nicht im gesamten Unternehmen. Entscheiden Sie, ob ein Filter nur Zeilen ausblendet oder die Vergleichsgruppe für die Rangberechnung verändert.
Beschriften Sie den Geltungsbereich, etwa mit Zeitraum und betrachteter Gruppe. Beim Wechsel einer Filterung darf eine lokale Platzierung nicht weiter wie ein unternehmensweiter Rang erscheinen. Auch die Sortierrichtung braucht eine fachliche Entscheidung: Bei manchen Kennzahlen ist ein höherer Wert erwünscht, bei anderen ein niedrigerer.
Fehlende oder unvollständige Werte sollten nicht stillschweigend als Nullwerte in die Liste gelangen. Legen Sie fest, ob solche Einträge ausgeschlossen, separat angezeigt oder bis zur Klärung ohne Rang geführt werden. Das sind Vorschläge für die Berichtsdefinition, keine von der Datenbank vorgegebenen Bewertungsregeln.
Ein Rang darf keine zusätzliche Berechtigung erfinden
Wenn aus einer Rangliste später eine Prämien- oder Auswahlentscheidung werden soll, ist „die ersten drei“ ohne Gleichstandsregel nicht ausreichend. Meint das drei Zeilen, drei Rangnummern oder alle Einträge bis zu einem bestimmten geteilten Platz?
Klären Sie die Konsequenz separat, bevor jemand eine Exportliste als verbindliches Ergebnis verwendet. Der hier erläuterte Datenbankmechanismus begründet keine Ansprüche, Fairnessbewertung oder Personalentscheidung.
Dasselbe gilt für Berechtigungen zur Datensicht. Eine Person darf nicht allein zur Erklärung ihres Rangs vertrauliche Einzelwerte anderer Personen erhalten. Legen Sie fest, welche Vergleichsinformation tatsächlich freigegeben ist.
Mit absichtlichen Gleichständen abnehmen
Verwenden Sie das Beispiel 90, 90, 70 und lassen Sie die vereinbarte Rangfolge auf Bildschirm und Export zeigen. Vertauschen Sie die beiden gleichwertigen Einträge und prüfen Sie, ob der fachliche Rang gleich bleibt. Eine bewusst gewählte zusätzliche Anzeigereihenfolge kann sich dabei anders verhalten als die Rangspalte.
Ergänzen Sie zwei erst nach Rundung gleich aussehende Werte, einen fehlenden Wert und eine andere Vergleichsgruppe. Prüfen Sie bei einem Filterwechsel, ob die beschriftete Rangbedeutung erhalten bleibt. Der Test soll die gewählte Definition bestätigen, nicht nachträglich irgendeine vorhandene Ausgabe rechtfertigen.
Ist eine eindeutige Zeilennummer eine Rangfolge?
Sie kann eine Reihenfolge nummerieren. Bei Gleichständen sagt sie aber nicht dasselbe aus wie ein geteilter Rang. Benennen Sie die Spalte entsprechend ihrem tatsächlichen Zweck.
Muss nach zwei ersten Plätzen der dritte Platz folgen?
Nicht bei jeder Zählweise. Eine Rangzählung mit Lücken tut das, eine dichte Rangzählung führt mit dem zweiten unterschiedlichen Rang weiter. Entscheiden Sie die Bedeutung ausdrücklich.
Reicht die Sortierung nach dem angezeigten Wert?
Nicht als vollständige Spezifikation. Ausgangswerte, Rundung, Gleichstände, Sortierrichtung und Vergleichsgruppe müssen zusammenpassen.
Nehmen Sie diese Beispiele in Ihre Akzeptanzkriterien auf. Bei der Planung einer Business-App lässt sich klären, welche Entscheidung der Bericht überhaupt unterstützen soll.
Quelle und Grenzen
PostgreSQL 18: Window Functions, insbesondere die Definitionen von row_number, rank, dense_rank und gleichrangigen Zeilen. Beschriftung, Vergleichsgruppen, Rundungsregeln und Abnahmefälle sind fachliche Planungsvorschläge. Es wurde keine produktive Rangliste oder tatsächliche Bewertung geprüft.