Neuigkeiten:

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

Mobiles Hauptmenü

Rangverhältnis des Durchschnitts der Prüfungsleistungen jedes Bewerbers

Begonnen von Karlee, August 01, 2015, 06:42:50

⏪ vorheriges - nächstes ⏩

Karlee

Liebe Community,
für die Auswahl von Bewerbern zu einem Studiengang möchten wir einen Steckbrief zu jedem Bewerber als einseitige Übersicht erstellen. Das haben wir mit einem Bericht größtenteils schon umsetzen können.
Jeder Bewerber reicht viele Prüfungsleistungen ein, von denen die Grundlagenklausuren von allen Bewerbern, die jeweiligen Spezialisierungsklausuren von nur einzelnen abgelegt worden sind. Damit der Steckbrief schön übersichtlich ist, sollen nur die jeweils wirklich abgelegten Leistungen und keine leeren Felder angezeigt werden. Das haben wir mit einem Unterbericht gelöst, der die Felder Leistungstyp (als Kombinationsfeld) und Note in einer Tabelle zu jedem Bewerber auflistet.
Um die Bewerber nach ihren Leistungen in ein Rangverhältnis setzen zu können, müssen wir jetzt den Durchschnitt einiger Klausuren ermitteln und ins Verhältnis zu den anderen Bewerbern setzen: z.B. Erst-/Zweit-/Drittbester Student nach Leistungstyp X und Y. Der Rang soll dann zusätzlich zu den einzelnen Leistungen auf dem Steckbrief angezeigt werden.
Unser Lösungsansatz war es, mit einer Auswahlabfrage nur die Leistungen von jedem Bewerber auszuwählen, die wir mit denen der anderen Bewerber vergleichen wollen. Allerdings haben wir es dann nicht geschafft, den Durchschnitt dieser für jeden Bewerber zu berechnen, um sie dann im nächsten Schritt in ein Rangverhältnis zu den anderen Bewerbern setzen zu können.
Wir freuen uns sehr auf hilfreiche Antworten und sind auch offen für ganz andere Lösungen, falls schon unser Ansatz ungünstig ist.
Vielen Dank
Karlee

MaggieMay

Hallo,

für die Ermittlung der Durchschnittswerte und der Rangfolge brauchst du eine separate Abfrage, die du im Anschluss mit der Hauptabfrage wieder zusammenführen kannst.
Freundliche Grüße
MaggieMay

Karlee

Hallo MaggieMay,
vielen Dank für deine Antwort.
Ich habe mir überlegt - und deine Antwort bestätigt mich darin - dass man mit einer Abfrage die Prüfungsleistungen jedes Bewerbers herausfiltern müsste, dann deren jeweiligen Durchschnittswert (pro Bewerber) ermittelt und diese Durchschnittswerte dann in einer weiteren Abfrage mit einander vergleicht, sodass der jeweilige Rang ermittelt werden kann. Für mich stellt sich aber die Frage: Wie?
Bis auf den folgenden Hinweis https://support.microsoft.com/de-de/kb/208946 und diese Formel AbiturRanking: ((Select Count (*) FROM [tblBewerber] as X WHERE [X].[AbiturGesamt] < [tblBewerber].[AbiturGesamt])+1)habe ich leider keine Idee, wie ich konkret vorgehen könnte. Hinzukommt noch, dass diese Formel nur funktioniert, wenn ich sie auf ein nicht-berechnetes Feld wie die Abiturdurchschnittsnote anwende, die vom Bewerber schon so angegeben wird. Wenn ich hingegen den Durchschnittswert aus mehreren Einzelleistungen berechne, kann ich anschließend nicht den Rang anhand dieses berechneten Feldes mit dieser Formel ermitteln. Da meldet er einen Laufzeitfehler - und das in einer Abfrage!
Falls ich nähere Hinweise geben soll oder sogar eine Tabelle oder Abfrage hochladen kann, um die Hilfe zu erleichtern, mache ich das gern.
Vielen Dank für weitere Tipps!
Karlee

MaggieMay

ZitatDa meldet er einen Laufzeitfehler
Du solltest uns die Fehlermeldung nicht vorenthalten, möglicherweise gibt es eine Lösung. Auch der SQL-Code der Abfrage könnte dabei hilfreich sein.
Freundliche Grüße
MaggieMay