Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: thyl am März 29, 2015, 23:41:39

Titel: Rangberechnung mit mehreren Kriterien
Beitrag von: thyl am März 29, 2015, 23:41:39
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
Titel: Re: Rangberechnung mit mehreren Kriterien
Beitrag von: MaggieMay am März 30, 2015, 14:18:46
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.
Titel: Re: Rangberechnung mit mehreren Kriterien
Beitrag von: thyl am März 30, 2015, 15:13:12
Hallo MaggieMay,

ich habe die Datenbank mal zum DLhttps://www.dropbox.com/s/vmq1kcd3hdjzfy8/Turnier.accdb?dl=0 (https://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 :-)
Titel: Re: Rangberechnung mit mehreren Kriterien
Beitrag von: MaggieMay am März 30, 2015, 15:53:51
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;
Titel: Re: Rangberechnung mit mehreren Kriterien
Beitrag von: thyl am März 30, 2015, 16:47:36
Du bist genial!!

Vielen lieben Dank!
Titel: Re: Rangberechnung mit mehreren Kriterien
Beitrag von: thyl am März 30, 2015, 19:51:29
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