Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Rangberechnung mit mehreren Kriterien

Begonnen von thyl, März 29, 2015, 23:41:39

⏪ vorheriges - nächstes ⏩

thyl

Hallo,

ich hänge grad wieder ein bisschen. Bisher habe ich im Internet nur sehr wenig dazu gefunden. Hoffentlich könnt ihr mir helfen!

Ich möchte eine Rangberechnung nach mehreren Kriterien umsetzen:
1. Kriterium: Stilart (Zahl, aufsteigend sortiert)
2. Kriterium: Summe (Zahl, absteigend sortiert)
3. Kriterium: Summe Kill(Zahl, absteigend sortiert)

Ich möchte das wie folgt in einem Bericht gruppieren.
Stilart.....
Und dann die Datensätze mit Summe und Summe Kill.

Sollte das 2. Kriterium bei 2 Teilnehmern gleich sein, soll er nach dem 3. Kriterium unterscheiden.

Bei einer neuen Stilart, soll er dann die Rangberechnung von neuem starten. Sollte 2. und 3. Kriterium gleich sein... gleicher Rang für beide Teilnehmer.

Ich habe da was mit DCount gelesen, versteh das aber leider nicht so richtig :-/

Danke für Hilfestellungen...

EDIT:
In der Zwischenzeit bin ich auf folgendes gestoßen
Rangfolge: (SELECT Count(*) FROM tblDaten AS X WHERE X.Stilart = tblDaten.Stilart AND X.Summe > tblDaten.Summe)+1

So scheint es zu funktionieren. Einziges Problem bei zwei aufeinanderfolgenden gleichen Zahlen, überspringt er die darauffolgende (Rang: 1,2,2,4,...). Die 3 fehlt also, weiterhin weiß ich nicht wie ich die SummeKill in der Formel unterbringe

MaggieMay

Hi.
ZitatEinziges Problem bei zwei aufeinanderfolgenden gleichen Zahlen, überspringt er die darauffolgende (Rang: 1,2,2,4,...). Die 3 fehlt also,
Das ist völlig OK so.

Zitatweiterhin weiß ich nicht wie ich die SummeKill in der Formel unterbringe
Das musst du wohl noch genauer erklären wo die Summe herkommt bzw. wie sie berechnet wird.
Freundliche Grüße
MaggieMay

thyl

Hallo MaggieMay,

ich habe die Datenbank mal zum DLhttps://www.dropbox.com/s/vmq1kcd3hdjzfy8/Turnier.accdb?dl=0 bereitgestellt. Dabei geht es um die Abfrage "Rangberechnung". Es spielt sich alles in den ersten 4 Spalten ab.
Zuerst die Stilart...dann die Summe und dann Kill, alle aus der tblDaten.
Danach in der vierten Spalte steht dann die Rangfolge.

Bei jeder Stilart: neue Rangberechnung
Rangberechnung nach Summe, bei 2 gleichen Summen, Rangberechnung zusätzlich nach Kill

Danke :-)

MaggieMay

Hi,

so sähe die erweiterte Rangfolgenberechnung aus:

SELECT tblDaten.Stilart, tblDaten.Summe, tblDaten.Kill,
(SELECT Count(*) FROM tblDaten AS X WHERE X.Stilart = tblDaten.Stilart AND (X.Summe > tblDaten.Summe OR X.Summe = tblDaten.Summe AND X.Kill > tblDaten.Kill))+1 AS Rangfolge, tblDaten.Name, tblDaten.Vorname, tblDaten.Verein, tblDaten.Samstag, tblDaten.Sonntag
FROM tblStilarten INNER JOIN tblDaten ON tblStilarten.Stilartennummer = tblDaten.Stilart
ORDER BY tblDaten.Stilart, tblDaten.Summe DESC, tblDaten.Kill DESC;
Freundliche Grüße
MaggieMay

thyl


thyl

#5
Eine Frage hätte ich noch: In der tbl.Daten befindet sich noch ein Ja/Nein Feld ("Angemeldet") -> lässt sich das hier in die Abfrage auch noch einbauen, wenn ja wie?

Danke

EDIT: Hat sich erledigt :-D