Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Entfernung eines Eintrags aus der parteien.csv macht Results-Datenbanktabelle unbrauchbar #77

Open
fenglisch opened this issue Jan 12, 2023 · 4 comments

Comments

@fenglisch
Copy link
Collaborator

fenglisch commented Jan 12, 2023

Wenn die statistische Auswertung aktiviert ist, wird in der Results-DB-Tabelle ja auch die Übereinstimmung des Nutzers mit den Parteien gespeichert. Die Zuordnung des Übereinstimmungswertes mit der Partei findet dabei lediglich über die Reihenfolge statt. Wenn ich nach einem halben Jahr einen Eintrag aus der Mitte der parteien.csv lösche, kann keine richtige Zuordnung von Übereinstimmungswert mit Partei mehr stattfinden, weil sich alles verschiebt (aber der Stelle, wo der Eintrag entfernt wurde).

Ein Lösung wäre, dass man Einträge in der parteien.csv nicht mehr ersatzlos löscht, sondern sie durch einen Dummy-Eintrag ersetzt. Dieser müsste irgendeinen Wert enthalten (z. B. <span data-hide="yes"></span>), damit dieser in der Auswertung nirgendwo angezeigt wird, sondern nur in der parteien.csv den Platz des gelöschten Eintrags einnimmt, damit die Zuordnung weiterhin möglich ist.

Alternativ könnte die Zuordnung vielleicht anders als über die Reihenfolge stattfinden, z. B. indem vor jedem Übereinstimmungswert das Kürzel der Partei steht.

@msteudtn
Copy link
Owner

msteudtn commented Feb 3, 2023

Hallo,

zum besseren Verständnis: Wir reden hier über die Spalte parties (https://github.com/msteudtn/Mat-O-Wahl/blob/master/extras/statistics/results_db.sql) mit den Werten von mowparties, richtig?

Das sieht in der Auswertung also im Moment so aus:

vorher:

Partei: A B C D
Punkte 5 1 0 2

nachher, ohne B, mit E:

Partei: A C D E
Punkte 5 1 0 2

Ein Dummy-Eintrag in der parties.csv würde umfangreiche Änderungen nach sich ziehen, da die ganze Berechnung der Punkte von der richtigen Anzahl der Parteien und Fragen abhängt.

Die Alternative, stattdessen das Parteikürzel mit in die Datenbank zu schreiben, wäre eine einfache Lösung. :)

@fenglisch
Copy link
Collaborator Author

Genau das meinte ich.

Da der Dummy-Eintrag ohnehin nur eine ziemlich unsaubere Lösung gewesen wäre, klingt das doch gut!

@msteudtn
Copy link
Owner

msteudtn commented Feb 5, 2023

Der folgende Entwicklungszweig hat die nötigen Änderungen.

Die Tabelle sieht am Ende so aus:

resultID ip timestamp personal parties partynames
12 0.0.0.0 2023-02-05 1,1,1,1,1,1 4.5,2,2,3 APPD,Neutrale,Bananen,TBC
13 0.0.0.0 2023-02-05 1,-1,-1,-1,-1,1 1.5,6,4,3 Bananen,TBC,Neutrale,APPD

Alle Änderungen kann man hier einsehen. #80

@fenglisch
Copy link
Collaborator Author

Danke dir @msteudtn ! Wir haben es tatsächlich jetzt erst geschafft, das zu testen.

Kleine Anmerkung: Die Charakter-Begrenzung der Spalte partynames würde ich sicherheitshalber nochmal verdoppeln

Größere Anmerkung: Die Nummern in der Spalte parties sind nach wie vor geordnet nach der Reihenfolge der Parteien in der parteien.csv. In der partynames Spalte wird aber die Reihenfolge aus dem Ranking übernommen. Hier sollte auch die Reihenfolge aus der CSV-Datei beibehalten werden

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants