Hallo,
zunächst würde ich bei der ersten Frage zumindest eine gewisse Dynamik einbauen; also das die nächste Zeile erst gezeigt wird, wenn etwas eingetragen wurde.
Also eine Teilfragenrelevanz für
Zeile 2: !is_empty(OE1_SQ001_SQ001)
Zeile 3: !is_empty(OE1_SQ002_SQ001)
...
Siehe auch "Tutorial 1: Matrizen", Kapitel 6.
Wobei ich nicht ganz verstehe, warum es eine Matrix sein muss anstelle "mehrfacher kurzer Texte"
So, jetzt zur zweiten Frage.
Du hast ja nur eine Beispiel gesendet, dass keinerlei Einträge von Dir beinhaltet, keinerlei "Relevanzen" oder "Validierungen".
So erhältst Du natürlich immer die 5 Zeilen, auch wenn in der ersten Frage nur 3 Angaben waren.
Hatte ich ja schon geschrieben: Teilfragenrelevanz.
Die Zeile in OE2 wird nur angezeigt, wenn die entsprechende Zeile in OE1 nicht leer ist
Und dann hast Du die "normale" Validierung:
Jede der Spalten muss 100% ergeben
sum(self.sq_X001.NAOK)==100 and sum(self.sq_X002.NAOK)==100 and sum(self.sq_X003.NAOK)==100 and sum(self.sq_X004.NAOK)==100 and sum(self.sq_X005.NAOK)==100
Da Du hier klugerweise die x- und y-Achse verschieden kodiert hast, kann man jetzt die ".self"-Variable benutzen statt jede Zelle einzeln in die "sum"-Funktion eintragen zu müssen.
Man kann sich natürlich detailliertere Fehlermeldungen ausdenken, um genau die Spalte anzuzeigen, in welcher ein Fehler ist.
Zum Schluss noch:
Ich fand es ziemlich mühsam, jedes einzelne Drop-Down zunächst anklicken zu müssen, um dann im zweiten Schritt den Wert auszuwählen.
Kann man die Leute nicht einfach die Zahl eingeben lassen?
Dann wäre eine Matrix(Texte) vielleicht sogar besser, da man hier die Spaltensumme gleich anzeigen kann (man muss nur "Nur Zahlen" einstellen).
Wobei Du hier natürlich auch Drop-Downs einbauen kannst (wegen der 5er-Schritte). siehe ebenfalls "Tutorial 1: Matrizen", Kap. 1.
Hier nur in der ersten Spalte engebaut
Joffm
Jetzt weißt Du zwar, wie dies funktioniert; ich möchte trotzdem etwas insistieren, in OE1 Precodes zu benutzen.
Bei Deiner - freien - Lösung hast Du mit so vielen Dingen zu kämpfen; sei es nur eine unterschiedliche Schreibweise, die Nennung von Oberbegriffen vs. Unterbegriffen, Doppelnennungen, usw.
Mach besser eine große Mehrfachnennung, schön strukturiert mit Zwischenheadern. (Beispiele im "Tutorial 2: Mehrfachnennung,...". Kap. 1.1, 1.2, 2.5)
Danach kannst Du die ausgewählten Objekte in einer Rangreihe sortieren, und dann diese Anteile abfragen.
Das ergibt eine wohl strukturierte Ergebnisdatei.