Welcome to the LimeSurvey Community Forum

Ask the community, share ideas, and connect with other LimeSurvey users!

Spalten bei Matrixfrage (Zahlen) individuell anzeigen

  • SenerTec-Dachs
  • SenerTec-Dachs's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
2 years 7 months ago #219980 by SenerTec-Dachs
Hallo,

ich habe eine Frage erstellt mittels einer Matrix (Zahlen).
Ich habe 5 Zeilen und 5 Spalten. In den Zeilen stehen meine Produkte, in den Spalten Fragen zu den Produkten. Allerdings möchte ich die gesamten Spalten nur zeigen, wenn in der ersten Spalte eine Zahl eingetragen wurde.
Da ich bei allen Spalten, also auf der X-Achse der Matrix keine Relevanz-Möglichkeit finde wollte ich fragen wie man das lösen kann.

Grüße Alexander
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
2 years 7 months ago #219991 by Joffm
Hallo, Alexander,
dann nehme ich einmal an, in der ersten Spalte wird die Anzahl (o.ä,) abgefragt, so dass bei "0" die restlichen Spalten obsolet sind.
Frag einfach vorher "Welche Produkte haben Sie?"
und zeige dann nur diese in der Matrix an.

Joffm

P.S. Wie wird die Matrix überhaupt dargestellt? Als Drop-Downs oder als Felder?
Wenn Du die erste Spalte als Drop-Downs gestaltest, kannst Du mein Beispiel aus dem Tutorial über Matrizen anpassen.
In der Funktion  "handleColumnX003(thisSelect)"
müssen nur alle ".inserted-select"   in  "input:text"  geändert werden
 

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The topic has been locked.
  • SenerTec-Dachs
  • SenerTec-Dachs's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
2 years 7 months ago #220002 by SenerTec-Dachs
Replied by SenerTec-Dachs on topic Spalten bei Matrixfrage (Zahlen) individuell anzeigen
Hallo Joffm,

ja, so soll es sein. Wenn in der ersten Spalte keine Zahl eingetragen ist, dann sollen die restlichen vier Spalten nicht erscheinen. Hintergrun ist, ich möchte wissen, wie viele Anfragen zu einem Produkt erhalten wurden. Wenn keine Anfragen erhalten wurden, dann kann ich ja auch nicht fragen aus welcher Zielgruppe diese Anfragen gekommen sind.

Die Frage habe ich dem Post angehängt.

Toll wäre wenn man zusätzlich noch überprüfen könnte, ob die eingaben Sinn machen. Also wenn in der ersten Spalte z.B. die Gesamtzahl 10 eingetragen wird und in den folgenden 4 Spalten kommt in der Addition z.B. die Zahl 11 heraus, dann ist klar, dass die Eingaben nicht korrekt sind und sich irgendwo ein Fehler verbirgt.

Viele Grüße
Alex

 
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
2 years 7 months ago - 2 years 7 months ago #220020 by Joffm
Hallo, Alex,
es ist doch so, dass Du alle Zellen mit 0 vorbesetzt.
Da Du ja sowieso überprüfst, dass die Summe der Einzelwerte den Gesamtwert ergeben, ist es doch überflüssig, irgendwelche Zellen verschwinden zu lassen.
Wenn im Gesamt eine "0" steht, kann dahinter auch nichts eingetragen werden.
Einfach validieren.

Hier mit stufenweiser Fehlermeldung
   
Nachdem Zeile 1 korrigiert wurde, wird die nächste nicht korrekte Zeile angemeckert.


Kann man natürlich auch anders machen.
Wenn Du dann "vernünftig" kodierst, ist die Validierung sehr simpel.
Ich habe einmal die "Gesamtspalte "G001" genannt, ansonsten die weiteren Optionen der x-Achse mit "X002", "X003", und die y-Achse eben "Y001", "Y002",...

Dann ist die Validierungsgleichung
self.sq_Y001_G==sum(self.sq_Y001_X) and
self.sq_Y002_G==sum(self.sq_Y002_X) and
self.sq_Y003_G==sum(self.sq_Y003_X) and
self.sq_Y004_G==sum(self.sq_Y004_X) and
self.sq_Y005_G==sum(self.sq_Y005_X)


und die Meldung wie Du willst.
Entweder nur generell wenn irgendwo etwas nicht stimmt,
{if(self.sq_Y001_G!=sum(self.sq_Y001_X) or
self.sq_Y002_G!=sum(self.sq_Y002_X) or
self.sq_Y003_G!=sum(self.sq_Y003_X) or
self.sq_Y004_G!=sum(self.sq_Y004_X) or
self.sq_Y005_G!=sum(self.sq_Y005_X), "Da ist ein Fehler,"")}


oder länger und spezifischer.

So, jetzt etwas anderes.
Muss das sein, dass die Teilnehmer in einem Drop-Down eine Zahl zwischen 1 und 50 aussuchen müssen? Finde ich etwas nervig.
Warum fragst Du überhaupt nach der Gesamtzahl? Die kann man doch einfach ausrechnen.

Hier als Matrix(Texte) mit Einstellung.
  • Nur Zahlen
  • Zeige Gesamtwerte für Zeilen
 

Entweder mit einer "Regular Expression" oder einer Eingabemaske (siehe Tutorial über Gimmicks) kann man noch dafür sorgen, dass keine utopischen Werte eingegeben werden.

Denk einmal darüber nach

Bis dann

Joffm


 

Volunteers are not paid.
Not because they are worthless, but because they are priceless
Last edit: 2 years 7 months ago by Joffm.
The topic has been locked.
Moderators: Joffm

Lime-years ahead

Online-surveys for every purse and purpose