Welcome to the LimeSurvey Community Forum

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

Matrix Zahlen - nur eine Option pro Zeile

  • Surveylab_KN
  • Surveylab_KN's Avatar Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
11 months 4 weeks ago - 11 months 4 weeks ago #243018 by Surveylab_KN
Matrix Zahlen - nur eine Option pro Zeile was created by Surveylab_KN
Please help us help you and fill where relevant:
Your LimeSurvey version: 5.6.7
Own server or LimeSurvey hosting: LimeSurvey Cloud
Survey theme/template: Own
==================
Hallo zusammen,
ich habe für eine Umfrage eine Frage als Matrix(Zahlen) angelegt, in der für mehrere Aspekte (Teilfragen) die Anzahl angegeben werden kann. Um es den Teilnehmenden einfacher zu machen, soll es neben der Möglichkeit es als Anzahl anzugeben, auch die Möglichkeit geben es als Prozent anzugeben. Ich habe also mehrere Teilfragen auf der Y-Achse und zwei Teilfragen auf der X-Achse. Nun sollen die Teilnehmenden aber auch nur eine der beiden Möglichkeiten nutzen. Ansonsten ist die Angst, dass es zu unterschiedlichen Werten kommt und die Antworten unbrauchbar sind. Deshalb würde ich gerne die andere Möglichkeit "ausgrauen", sobald eine Möglichkeit genutzt wird. Ich stelle mir dies vor wie bei anderen Fragen mit exklusiven Optionen. Ich habe es bisher über die Teilfragen-Validierung versucht, bin allerdings gescheitert. Kann mir hier jemand weiterhelfen?
Last edit: 11 months 4 weeks ago by Surveylab_KN.

Please Log in to join the conversation.

  • Joffm
  • Joffm's Avatar
  • Away
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
11 months 4 weeks ago #243019 by Joffm
Replied by Joffm on topic Matrix Zahlen - nur eine Option pro Zeile
Hallo,
welche Validierung hast Du denn versucht?
Im Grunde ist es deshalb ungünstig, weil die Frage dann nicht obligatorisch sein kann (es wird ja nicht alles ausgefüllt).
Andere Idee:
Zwei Spalten, eine als Eingabefeld, eine als Drop-down für die Einheit (abs. / proz.)

Immer gerne gesehen ist ein lss-Export.
Es erleichtert uns die Arbeit, da wir dann nicht selbst etwas - möglicherweise falsches - erstellen müssen.

Bis dann
Joffm 

Volunteers are not paid.
Not because they are worthless, but because they are priceless

Please Log in to join the conversation.

  • Surveylab_KN
  • Surveylab_KN's Avatar Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
11 months 4 weeks ago #243020 by Surveylab_KN
Replied by Surveylab_KN on topic Matrix Zahlen - nur eine Option pro Zeile
Hallo,
danke für die schnelle Antowrt. Den lss-Export hatte ich vergessen, kommt aber hier.

Bisher hatte ich es versucht über die Frage- bzw. Teilfrage-Validierung zu lösen. Meine Ansätze gingen hier über "self.sq...". Ich wollte hier eine Prüfung erstellen, die prüft das immer nur eine pro Zeile ausgefüllt ist. Aber ich kam hier nicht weiter.

Ein Dropdown ist eine gute Idee. Aber dann bin ich darauf angewiesen, dass dies ebenfalls ausgefüllt wird. Da ich die Frage sowieso nicht obligatorisch machen möchte, ist dies für mich kein Problem. Ich bin eher ein Freund der freiwilligen Antworten.

Please Log in to join the conversation.

  • Joffm
  • Joffm's Avatar
  • Away
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
11 months 4 weeks ago #243022 by Joffm
Replied by Joffm on topic Matrix Zahlen - nur eine Option pro Zeile
Hallo,
zunächst die Spitzfindigkeiten.

Meine Ansätze gingen hier über "self.sq...".
Aber ich kam hier nicht weiter

Das ist klar, denn self.sq... ist falsche Syntax.
Ich will damit sagen: "Zeig doch, was Du ausprobiert hast".
Dann können wir Dir zeigen, woran es hakt. Du willst doch etwas lernen, oder?

Im Grunde brauchst Du ja nur zu zählen, das in jeder Zeile weniger als 2 Zellen ausgewählt sind, also Funktion "count()"
 

Aber jetzt die Kritik.
Gut, bei diesem Eintrag kannst Du noch leicht rechnen, dass es 16 Frauen sein müssen.
 
Bei diesem ist es weniger schön
 
Und hier weißt Du nicht einmal, ob dies bedeutet, dass es 0 diverse Personen sind (Teilnehmer lieben es, Felder leer zu lassen, wenn eigentlich explizit eine "0" einzutragen wäre), oder ob sich der Teilnehmer heraushalten wollte, weil er nicht weiß, wie viele in der Gruppe einen Geburtsregistereintrag "divers" haben.

Auch wenn Du ein "Freund der freiwilligen Antworten" bist: Die Teilnehmer füllen den Fragebogen alle freiwillig aus; aber dann möchte ich auch etwas von Ihnen wissen - und eine vernünftige Datenbasis für die Analyse haben. Grundsätzlich werden von uns ja Meinungen, Einstellungen abgefragt, d.h. man kann immer antworten; und wenn die genaue Zahl nicht bekannt ist, dann wird eben gut geschätzt. Der Teilnehmer wurde ja so ausgesucht, dass er mit der Materie zu tun hat, also auch dazu in der Lage ist.
Zugegeben, in einem "face-to-face"-Interview ist es etwas leichter, zu verkopfte Leute dazu zu bringen, eine qualifizierte Schätzung abzugeben, wenn sie etwas nicht zu  wissen glauben


Oder wie hier: Frage vorher, ob der Teilnehmer in Prozenten oder absoluten Zahlen antworten möchte!
Bei Prozenten: Validiere, dass 100% vergeben wurden!
Bei Absoluten: Zeige die Summe an! Falls Du vorher nach der Gesamtzahl gefragt hast, validiere, sonst fordere nur zum Vergleich auf!

Es erleichtert Dir das Leben bei der Auswertung, und erschwert manchen Spaßvögeln ein bisschen ihr Handwerk

Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless

Please Log in to join the conversation.

  • Surveylab_KN
  • Surveylab_KN's Avatar Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
11 months 4 weeks ago - 11 months 4 weeks ago #243024 by Surveylab_KN
Replied by Surveylab_KN on topic Matrix Zahlen - nur eine Option pro Zeile
Hallo Joffm,

deine Spitzfindigkeit ist natürlich richtig. Ich hatte hier so viele verschiedene Varianten versucht, dass ich am Schluss nicht mehr wusste welche überhaupt in die richtige Richtung ging. Aber ich möchte selbstverständlich verstehen was ich hier mache. Ich hatte es mit zwischendurch mit folgender Version versucht:
Code:
count(self.sq_Y001_X)==1
Ich habe mich hier an einem Beispiel von dir aus dem Forum bedient. Es aber falsch angepasst. Und als Alternative versuchte ich:
Code:
is_empty(self.sq_Y001_X1) AND is_empty(self.sq_Y001_X2)

Ich bin mir aber auch nicht sicher ob ich dies bei der 'Frage-Validierungsgleichung' oder der 'Teilfrage-Validierungsgleichung' eintragen muss.

Deine Kritik des Frageaufbaus gerechtgertig. Deshalb würde ich es gerne verhindern, dass Werte in beiden Spalten eingetragen werden können. Sobald der erste Wert eingetragen wird, sollen die anderen Felder nicht mehr möglich sein. Also wenn ein Wert für Anzahl eingetragen wird, sollen nur noch diese drei Felder für Angaben möglich sein und umgekehrt. Für eine andere Frage hatte ich es über eine mehrfache nummerische Eingabe und der Möglichkeit exklusive Optionen gelöst. Dann sieht es so aus:
 

So hätte ich es auch gerne für die Matrix, dann wäre zumindest die Konsistenz geregelt. Damit könnte ich auch die Summe kontrollieren.

Viele Grüße
Last edit: 11 months 4 weeks ago by Surveylab_KN.

Please Log in to join the conversation.

  • Joffm
  • Joffm's Avatar
  • Away
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
11 months 4 weeks ago #243027 by Joffm
Replied by Joffm on topic Matrix Zahlen - nur eine Option pro Zeile
count(self.sq_Y001)<2 and count(self.sq_Y002)<2... 

Bei "==1" bekommst Du ja auch direkt am Anfang eine Fehlermeldung.

Es wäre zu überlegen, ob Du nicht zusätzlich erzwingen willst, dass nur eine Spalte benutzt wird, also nicht wie in meinen Beispielen.

Z.B.  nicht getestet - vom Smartphone 
sum(count(self.sq_X1)>0,count(self.sq_X2)>0)<2

Joffm 

Volunteers are not paid.
Not because they are worthless, but because they are priceless

Please Log in to join the conversation.

  • Joffm
  • Joffm's Avatar
  • Away
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
11 months 4 weeks ago #243047 by Joffm
Replied by Joffm on topic Matrix Zahlen - nur eine Option pro Zeile
So, hier einmal etwas mit ganz viel Validierung
 
Die erste Meldung sagt natürlich "Nicht abs. und proz. in einer Zeile"
Die zweite Meldung, dass man nicht mischen soll "Entweder alles abs. oder alles proz."
Und die dritte, klar, wenn proz., dann 100%
So sähe es dann im richtigen Fall aus.
 

Und die Validierung ist:
count(self.sq_Y001)<2 and count(self.sq_Y002)<2 and count(self.sq_Y003)<2 and sum(count(self.sq_X1)>0,count(self.sq_X2)>0)<2 and (sum(self.sq_X2)==0 or sum(self.sq_X2)==100)
mit diesen Validierungs-Tipp (kann man ja alles auch ändern)
{if(count(self.sq_Y001)>1,"Bitte, füllen Sie nur eine Spalte in Zeile 1 aus!<br/>","")}
{if(count(self.sq_Y002)>1,"Bitte, füllen Sie nur eine Spalte in Zeile 2 aus!<br/>","")}
{if(count(self.sq_Y003)>1,"Bitte, füllen Sie nur eine Spalte in Zeile 3 aus!<br/>","")}
{if(sum(count(self.sq_X1)>0,count(self.sq_X2)>0)>1,"Bitte, benutzen Sie nur eine Spalte für alle Werte<br/>","")}
{if(sum(self.sq_X2)!=0 and sum(self.sq_X2)!=100,"Die Prozentwerte müssen sich zu 100 addieren!","")}


Dies ist übrigens eine Matrix(Texte), da man hier die Randsummen anzeigen kann (beachte: Dazu muss natürlich eingestellt sein, dass nur Zahlen eingegeben werden können - sonst wäre eine Summe etwas doof).

Hier noch eine3 andere Idee:
Vorfrage mit bootstrap-Buttons, danach entweder die Frage nach absoluten oder Prozenten.
Alles verknüpft mit den css-Klassen "no-bottom" und "no-question"
   

 



Geht auch.

Bis dann
Joffm


 

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The following user(s) said Thank You: Surveylab_KN

Please Log in to join the conversation.

  • Surveylab_KN
  • Surveylab_KN's Avatar Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
11 months 4 weeks ago #243061 by Surveylab_KN
Replied by Surveylab_KN on topic Matrix Zahlen - nur eine Option pro Zeile
Hallo Joffm,

vielen Dank dir für deine super Vorschläge, Tipps und Mühe!

Beide Lüsungen machen genau was ich gesucht habe. Die zweite Lösung hat auch den Vorteil, dass es schnell ersichtlich ist, dass nur eine Spalte ausgefüllt werden kann/soll. Bei der anderen Lösung finde ich teilweise die rote Umrandung der Kästchen etwas schwieriger.

Viele Grüße

Please Log in to join the conversation.

Moderators: Joffm

Lime-years ahead

Online-surveys for every purse and purpose