Welcome to the LimeSurvey Community Forum

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

Search Results (Searched for: mehr)

  • Joffm
  • Joffm's Avatar
11 Aug 2023 17:53
Hallo, Eugen,

okay, aber heute nicht mehr.

In der Zwischenzeit kannst Du Dir aber einmal in meinem "Tutorial 1: Matrizen, Kap. 9 anschauen.
Damit könnte man sogar Deine Idee basteln.
Du findest es hier im deutschen Teil auf einer der folgenden Seiten; wird wohl schon auf Seite 10 gerutscht sein.

Gut
Noch schnell nachgeschoben

Zum Thema Drop-Down: Kannst du mir sagen, wie ich das ausschalte?

In "Anzeige"
 

(Bedingung mit OR soll prüfen ob irgendein Eintrag ausgewählt wurd

Das macht man besser mit der Funktion "count"
count(that.Q1)>0

Um die Frage zur Validierung muss ich mich wohl später kümmern, weil die Zeit drängt. Dafür ist ja wahrscheinlich auch ein aufwendigeres Script notwendig

Es ist zwar lang, da man jede Zelle vergleichen muss, aber nicht aufwendig. Einfach ExpressionScript

Das war's aber für heute

Joffm
  • Joffm
  • Joffm's Avatar
11 Aug 2023 15:34
Hallo, Eugen,
Pflichtfrage heißt: ALLE Zellen müssen ausgefüllt sein; da nützt auch eine Spalte "KA" nichts.
Im erwähnten Beispiel diente sie ja dazu, "KA" exklusiv anzukreuzen, also nicht zusammen mit anderen Optionen.

Was Du machst, ist wohl wieder einmal das "Nachbauen" eines Papierfragebogens.
Wie solltest Du es machen?

einerseits weil bestimmte Hierarchieeben vllt. nicht vorhanden sind

Eben: Du erfragst vorher, welche Ebenen vorhanden sind (Mehrfachnennung) und zeigst dann nur noch diese in Deiner Matrix an (Matrixfilter)
Außerdem finde ich es ziemlich nervend, hier Drop-downs einzusetzen.
Der Teilnehmer muss zunächst klicken, damit es sich öffnet - und dann noch einmal, um den Wert auszuwählen. 
Das nervt wirklich.
Es geht zwar mit TAB und Zahleingabe; aber das weiß der Teilnehmer meist nicht.
Also da ist eine einfache Zahleingabe wirklich angenehmer - und auch schneller.

Nun kommt der nächste Punkt: Validierung.
Du musst ja testen, dass die Anzahl der Teilzeitmänner nicht größer ist als die Gesamtmännerzahl (und das für alle Zellen)
Daher auch hier mein Vorschlag: Splitte, die Matrix. Frage zunächst nur nach Gesamt
In einer nächsten fragst Du dann - eben nur dort, wo es überhaupt Männer gab - nach den Teilzeitmännern.

So, wie es jetzt aussieht, ist es wirklich nicht gut machbar. 

Joffm


 
  • Malte
  • Malte's Avatar
11 Aug 2023 13:34
Hallo Joffm,

besten Dank für die vielen hilfreichen Hinweise!
V.a. das Organisieren aller Gleichungen für die Bildung der Mittelwerte in einem Container macht die Sache deutlich übersichtlicher.
Mit der Umwandlung der aufgrund des Mittelwerts in einer bestimmten Höhe ausgewählten Bereiche/Themen in einen String muss ich mich nochmal genauer auseinandersetzen (hier kann man ja bestimmt auch die Reihenfolge, in der die Informationen innerhalb einer einzigen Textanzeige-Frage dargestellt werden, randomisieren, aber ich könnte mir auch vorstellen, dass durch die Verwendung mehrere Fragen die Rangplätze optisch stärker hervorgehoben werden).

Ich hatte aber tatsächlich bislang versäumt, ein Limit dafür einzubauen, dass keine weiteren Rangplätze berücksichtigt werden, wenn die grundlegend angestrebte Zahl an Bereichen/Themen, zu denen weitere Information dargestellt werden, bereits auf mit dem vorausgehenden Rangplatz erreicht sind. Das habe ich mal eben ergänzt - siehe aktualisierte .lss.

Schönen Gruß,
Malte
  • Joffm
  • Joffm's Avatar
11 Aug 2023 12:13
Hallo, Malte,
eine ähnliche Lösung hatte ich auch bereits vorbereitet.
Ich benutze einen am Anfang erstellten "Container" (einfach "mehrfache kurze Texte"),
Dieser hat den Vorteil, dass man die Werte dort zuweist, und alle diese Gleichungen in eine einzige Frage schreiben kann.
1. Speichere alle Mittelwerte hinein (Base1)
2. Bestimme das Maximum aller dieser Zellen (Max1)
3. Erzeuge einen String, der Platzhalter für die übereinstimmenden Werte enthält (A=Mittelwert1, B=Mittelwert2,...)  (G1)

Ist die Länge des Strings kleiner als 3:
4. Setze die "abgearbeiteten" Werte auf 0  (Base2)
5. Bestimme das Maximum aller dieser Zellen  (Max2)
6. Erzeuge einen String, der Platzhalter für die übereinstimmenden Werte enthält (A=Mittelwert1, B=Mittelwert2,...)  (G2)

Ist die Länge beider Strings immer noch kleiner als 3:
7. Setze die "abgearbeiteten" Werte auf 0  (Base3)
8. Bestimme das Maximum aller dieser Zellen  (Max3)
9. Erzeuge einen String, der Platzhalter für die übereinstimmenden Werte enthält (A=Mittelwert1, B=Mittelwert2,...)  (G3)

Jetzt kannst Du diese Strings benutzen, um Deine Anzeigen zu machen.

Kommt es nur darauf an, ob die Matrix dazugehörte, würde ich sie "joinen" (was ich am Schluss getan habe)
Ich erhalte etwas wie  "#CFBD"
Die Raute am Anfang dient dazu, dass, im Falle der Benutzung von "strpos" keine Kollision bezüglich des Rückfgabewertes entsteht.
Denn
strpos("CFBD","A") ergibt 0, was hier bedeutet "nicht vorhanden"
strpos("CFBD","C") ergibt 0, was hier bedeutet "an der Stelle 0" (strpos beginnt die Zählung bei 0.
Aber mit der Raute
strpos("#CFBD","C") ergibt 1
Oder, wenn es Dir mehr im die Reihenfolge geht, und Du mit "substr" arbeitest, kannst Du die Raute natürlich weglassen
substr("CFBD",0,1) ergibt dann "C", Zählung beginnt auch bei 0.

Falls Du aber explizit auf den höchsten, den zweithöchsten Mittelwert eingehen willst, benutzt Du sie getrennt "Der String G1 enthält die Matrizen mit dem höchsten Mittelwert, der String G2, die mit dem zweithöchsten Mittelwert,..."
Vielleicht so (ich weiß es ja nicht)
 

Und jetzt endlich die lss
 

File Attachment:

File Name: limesurvey...6362.lss
File Size:139 KB


Joffm

P.S.
Ich habe Deine Lösung noch nicht vollständig durchgeschaut, werde aber auf jeden Fall noch ein Feedback geben.


 
  • Malte
  • Malte's Avatar
11 Aug 2023 11:10
Hallo,

ich habe nun eine Lösung für die Darstellung der Informationen zu allen Themen/Bereichen, deren Bewertung auf den obersten Rangplätzen landet, gefunden - siehe hochgeladene Test-Umfrage. Hier habe ich erst mal nur die ersten beiden Rangplätze berücksichtigt, aber das Ganze ist ja beliebig erweiterbar.

Das Anzeigen der Informationen habe ich für jeden Rangplatz über eine Frage vom Typ "Mehrfachauswahl" umgesetzt, da hier leicht die Reihenfolge aller Themen/Bereiche, die zusammen auf diesem Rangplatz landen, randomisiert werden kann.

Jetzt bräuchte ich nur noch einen Hinweis, wie ich die Auswahl-Kästchen vor den Antwortoptionen bei der Mehrfachauswahl-Frage verstecken kann.

Schönen Gruß,
Malte
  • Joffm
  • Joffm's Avatar
10 Aug 2023 15:22 - 10 Aug 2023 15:29
Replied by Joffm on topic Suffix nach Textfeld in Matrix
Hallo, Sarina,
hier Deine Umfrage mit der "neuen" Matrix.
 
 

File Attachment:

File Name: limesurvey...7948.lss
File Size:169 KB


Was ist alles darin?
Zunächst die Darstellung als Matrix.
Dann die Eingabemaske.
Linksbündige Darstellung der Items
Zentrierung der Radio-Buttons.
Unterschiedliche Spaltenbreiten, falls gewünscht.
Check, dass maximal 3-stellige Zahlen eingegeben werden können.
Da durch den hinzugefügten Text die Eingabemaske ja ziemlich vergewaltigt wird, wird in eqQ2 dann dieser entfernt, damit in der Datenbank nur der Wert steht.

Was fehlt?
a. Check, ob ein Teilnehmer einen Wert einträgt, dann aber "noch nie" anklickt.
b. Check, ob ein Teilnehmer keinen Wert einträgt, dann aber "Tag", "Woche", anklickt.

a. Könnte man z.B. abfangen, indem in der Gleichungsfrage eqQ2 noch hinzugefügt wird, dass der Wert in Q2a_SQ001 geleert wird wenn Q2_SQ001==9  (9="noch nie")
b. Das wäre noch ein Validierungspunkt, ähnlich wie der der dreistelligen Zahlen.

Was geht nicht?
Logischerweise können die Items nun nicht in zufälliger Reihenfolge angezeigt werden, da die Textfrage, die ja mittels des scriptes eingefügt wird, in der normalen Reihenfolge vorliegt.

Wichtige Stellen im script
Die Breite der eingefügten Spalte:
Code:
$('.inserted-column-label', qArray).css('width','15%');

Hier das Textfeld eingefügt und gleichzeitig die Maske definiert.
"mal pro" muss dann ins Englische übersetzt werden.
Code:
$('input[type="text"]', this).appendTo($('tr.answers-list:eq('+i+') .text-item', qArray)).mask('##0 mal pro ...', { 
   reverse: true,
   placeholder: "__ mal pro ..." 
});
Und hier wird die Spaltenbreite der einzelnen Spalten bestimmt (sollte zusammen 100% ergeben)
Code:
<style type="text/css">
  .custom-array table.subquestion-list col {
    width: auto !important;
  }
  .custom-array table.subquestion-list thead .column-0 {  width: 50%; }
  .custom-array table.subquestion-list thead .column-1 {  width: 15%; }
  .custom-array table.subquestion-list thead .column-2 {  width: 6%; }
  .custom-array table.subquestion-list thead .column-3 {  width: 6%; }
  .custom-array table.subquestion-list thead .column-4 {  width: 6%; }
  .custom-array table.subquestion-list thead .column-5 {  width: 6%; }
  .custom-array table.subquestion-list thead .column-6 {  width: 11%; }

Okay, jetzt etwas zur den anderen Dingen.
Deine Idee in "Hauf" mit der Mehrfachnennung ist im Grunde recht gut.
Allerdings zielte das Beispiel ja darauf, dass die Texteingabe eine weitere Option zusätzlich zu den anzucheckenden ist.
Und dann gab es die zwei exklusiven Option "Gar nicht" und "keine Angabe".
 
Dann muss ein evtl. eingegebener Text natürlich gelöscht werden.
Die entscheidende Stelle im script ist auch leicht zu finden
Code:
$('.exclusive-item input:checkbox', thisQuestion).on('change', function(e) {
            if($(this).is(':checked')) {
                var thisItem = $(this).closest('.answer-item');
                $(this).closest('tr.subquestion-list').find('.answer-item').not(thisItem).find('input:checkbox').prop('checked', false);
                $(this).closest('tr.subquestion-list').find('input:text').val('');
            }
        });

Also: Wenn ein exclusives Item gecheckt ist, dann wird der Wert (val) des Textes auf "leer" gesetzt.
Wenn Du diese Zeile entfernst, funktioniert auch Dein "Hauf".
Jedenfalls fast. Denn, wenn "Noch nie" gewählt wird, sollte der Text ja geleert werden.
D.h. Du musst diesem Item eine andere Klasse geben, z.B. "exclusive-item2" und dann am Schluss den Text leeren, wenn dieses Item gewählt wurde.
Habe ich auch einmal gemacht (ich bin ja freundlich


Jetzt aber zur ersten Gruppe
F22: Hier wolltest Du wohl des Beispiel der Lückentexte einbauen. Halte ich auch für eine interessante Idee.
Diese Frage "von - bis" lässt sich doch gut mit Drop-Downs lösen.
Es kommt ja nicht auf die Minute an.
Könnte so aussehen.
 
Ist auch drin.

Aber was ist denn dieses?
var thisSelect = $('#question{19776} input[id^="answer"]:eq(0)'); 
Dort stand sicher einmal $('#question{QID}
Wie Du hoffentlich jetzt weißt, sind dies LimeSurvey-spezifische Platzhalter, die immer durch den aktuellen Wert ersetzt werden.
{SID} : SurveyID
{GID} : GruppenID
{QID} : FragenID
{SAVEDID} : ID des Datensatzes in der Antworttabelle
{EXPIRY} : Enddatum der Umfrage (falls angegeben)
und andere.
Das heißt, in scripten wird dies NICHT geändert.
Wenn schon hättest Du $('#question19776 schreiben müssen.
Problem ist ja: Wenn Du die Umfrage kopierst oder exportierst und wieder importierst, werden diese Werte - wenn sie hart hineingeschrieben werden - nicht angepasst.

Und als Letztes:
Du schriebst, dass es einen mixed mode geben soll (paper pencil und online)
Nun, dass sind nun zwei unterschiedliche Methoden und für jede sollte das dafür geeignete Design gewählt werden.
Einer meiner Kunden schickt ebenfalls immer noch Papier, gleichzeitig wird aber auch die Beantwortung online angeboten.
Und das sind zwei Fragebögen mit ganz unterschiedlichem Design, eben an die Arbeitsweise beim Beantworten angepasst
Man kann einen paper pencil-Bogen nicht sklavisch nach online transferieren.
Eher würde es noch umgekehrt gehen.
Bei einem Papierbogen gibt es deutlich mehr Erklärungsbedarf (und man weiß "Papier ist geduldig"); trotzdem wird der Teilnehmer Gott weiß was ankreuzen und hinschreiben.
Im Gegensatz dazu sollte ein Online-Fragebogen mit kurzen Texten auskommen. (Eine Skala, die angezeigt wird, muss nicht im Fragetext noch einmal erklärt werden.) Hier wird ja zusätzlich durch Validierung viel "Unsinn" abgefangen.
Und eben das Prinzip "Eine Frage pro Seite"

Und das Programmierprinzip lautet ja "mobile first".
D.h. Du entwickelst den Fragebogen für ein mobiles Endgerät. Dabei siehst Du bereits, bei welchen Ideen, eine Frage darzustellen, es Probleme gibt.
Verschiebe einmal einen Slider auf einem smartphone  und ähnliches.

Zum Fragebogen-Design dies als zusätzliche Anregung (der Autor war auch lange Zeit hier aktiv und hat viele Ideen eingebracht)
 

File Attachment:

File Name: surveyfrie...8-10.zip
File Size:977 KB


Jetzt mach was draus
Viel Erfolg

Joffm
 
  • Joffm
  • Joffm's Avatar
09 Aug 2023 10:11
Hallo,
Ich will noch einmal auf Deine erste "Idee" zurückkommen, da sie zeigt, dass Du noch etwas auf Kriegsfuß mit der Variablenbezeichnung stehst.
Wie hier im Handbuch steht
[url] manual.limesurvey.org/ExpressionScript_-...code_variable_naming [/url]
wird ein Code gebildet aus (Teile in eckigen Klammern optional, je nach Fragetyp)
FragenCode[[_Teilfragencode-y-Achse]_Teilfragencode-x-Achse]
bzw. bei "Dual Matrix"
FragenCode_Teilfragencode-y-Achse_0/1 
Soll heißen:
Eine Einfachnennung benötigt eine Spalte in der Datenbank, ist damit durch den Fragencode eindeutig definiert. (z.B. Q1)
Eine Matrix bzw. Mehrfachnennung benötigt eine Spalte pro Teilfrage in der Datenbank, ist damit durch den Fragencode+Teilfragencode eindeutig definiert. (z.B. Q1_Y001)
Und eine Matrix(Texte) oder Matrix(Zahlen) benötigt pro Zelle eine Spalte; daher muss hier der Fragencode und beide Teilfragencodes angegeben werden. (z.B. Q1_Y003_X002)

Wie ich in meinem "Tutorial 4: Gleichungen, Zufall" in Kap. 5. Anhang beschrieben habe, ist es sehr hilfreich
  • die Umfrage kurz zu aktivieren
  • einige wohl definierte Daten einzugeben (soll heißen, man schreibt auf, was wo eingegeben wurde
  • die Antworttabelle anzuschauen
Dort sieht man dann als Spaltenüberschrift den gesamten QCODE und darunter die gegebenen Antworten.

Dann sieht man auch, dass bei Mehrfachnennungen eine ausgewählte Teilfrage mit "Y" codiert wird, eine nicht ausgewählte mit "".
Danach kann man die Umfrage ja wieder deaktivieren.

Und gleich in den "Begriffserklärungen" ist etwas Generelles über "Bedingungen".

Das Tutorial findest Du ungefähr auf Seite 10 hier im deutschen Teil.

Gut, jetzt endlich zu Deinem Problem.
Du hast Mehrfachnennungen; also (s.o) ist der Code "Fragencode+Teilfragencode" und Du willst wissen, ob diese Teilfrage gewählt wurde.
Also z.B. Q1_SQ003=="Y"  (Y ist ein Text, also muss es in Anführungszeichen gesetzt werden)

Was willst Du wissen? 
Wurden in allen fünf Fragen die in Frage kommenden Teilfragen ausgewählt?
Ich habe diesen Code hier einfach durchgängig "SQ099" genannt. Ich weiß nicht, warum Du so doppel-moppelst,"E02B_B0"
Dann würden die Folgegruppen nicht angezeigt; sollte aber bei einer Frage diese nicht gewählt werden, würden sie angezeigt.
Natürlich kann man das auf dem langen Weg machen 
Q1_SQ099!="Y" OR Q2_SQ099!="Y" OR Q3_SQ099!="Y" OR Q4_SQ099!="Y" OR Q5_SQ099!="Y"
Es ist übrigens eine ODER-Verknüpfung, nicht wie bei Dir anfänglich eine UND-Verknüpfung (Bei Dir müssten ja bei ALLEN Fragen ein anderer Code gewählt sein)
Heißt also: Irgendeine Frage wurde nicht mit diesem Code beantwortet.
Oder Du machst es umgekehrt
!(Q1_SQ099=="Y" AND Q2_SQ099=="Y" AND Q3_SQ099=="Y" AND Q4_SQ099=="Y" AND Q5_SQ099=="Y")
Heißt entsprechend: Es gilt nicht, dass alle Fragen mit diesem Code beantwortet wurden. Okay, das ist Schulstoff.

Aber es wird kürzer (und eleganter), wenn man sich etwas überlegt.
Wenn ich zähle, wie oft diese Teilfrage gewählt wurde, und die Anzahl ist 5, wurde sie jedesmal gewählt, und die folgenden Gruppen werden nicht angezeigt.
In den "Implementierten Funktionen"
[url] manual.limesurvey.org/ExpressionScript_-...mplemented_functions [/url]
findet man dann etwas passendes, nämlich "countif" oder auch "countifop"
"countif" wird ja dort erklärt mit
Count the number of answered questions in the list equal to the first argument

Also hätten wir dies: Zähle die Fragen der Liste, die mit "Y" beantwortet wurden
countif("Y",Q1_SQ099,Q2_SQ099,Q3_SQ099,Q4_SQ099,Q5_SQ099)
Es wird also gezählt, wie oft diese 5 Teilfragen gewählt wurden, sprich den Antwortcode "Y" haben.

Und damit haben wir sie, die Bedingung: Wenn dieses Ding kleiner als 5 ist, wird angezeigt:
countif("Y",Q1_SQ099,Q2_SQ099,Q3_SQ099,Q4_SQ099,Q5_SQ099)<5

Joffm

Was soll eingentlich diese letzte Frage in "Ausblick"?
Ich denke, die Teilnehmer, die durch den Sprung dort landeten, wissen gar nicht, worum es geht.
Wollst Du diese nicht eigentlich aus der Umfrage ausschließen?
Dann wäre eine Quote das Mittel der Wahl.
Aber das musst Du dann noch einmal sagen.


Und als Letztes: Schmeiß diesen "Steinzeit"-Bedingungs-Designer raus. Der stammt aus einer Zeit, als es noch kein ExpressionScript gab, so Version 1.90.
ExpressionScript ist viel mächtiger, flexibler, einfacher.
Ein kleiner Vergleich im Handbuch
[url] manual.limesurvey.org/ExpressionScript_-...ons_and_Relevance.3F [/url]
  • mancha
  • mancha's Avatar
09 Aug 2023 09:16
Guten Morgen zusammen, 
habe jetzt unwichtige Fragen rausgeworfen und den Rest anonymisiert. Bin gestern nicht mehr fertig geworden, deshalb gibt's die Datei jetzt erst, sorry. 
Also das Ziel ist es, dass man direkt in die Fragegruppe "Ausblick" geleitet wird, wenn in der Fragegruppe "Einleitung" bei allen Fragen die Antwort "keins" ausgewählt wird. 
Zur Info: Die Fragegruppe "Optionen" wollten wir ursprünglich als Matrixfrage darstellen, aber die tatsächlichen Antwort- und Bewertungsmöglichkeiten haben zu lange Texte, sodass wir das in die einzelnen Fragen aufgeteilt haben, dann ist es besser lesbar. 
Viele Grüße
 
  • holch
  • holch's Avatar
07 Aug 2023 19:46
Wie Joffm: Schick uns doch einen Prototyp dieser Studie (nur die relevanten Fragen, dürfen auch anonymisiert sein) als LSS (NICHT LSG oder LSQ). Dann schauen wir uns das an. Aber ich vermute genau wie Joffm, dass du eben Fragen vom Typ Mehrfachantwort verwendest.

Off topic:

5.4.14+221205


Würde den Arbeitgeber mal darauf ansprechen, dass die Software seit über 7 Monaten kein Update mehr bekommen hat. :-)
  • Joffm
  • Joffm's Avatar
07 Aug 2023 16:41 - 07 Aug 2023 17:20
Hallo,
klar können wir.
Im Grunde ist es nicht besonders kompliziert.

Aber wir wollen nicht selbst - nur laut der Beschreibung - eine Umfrage erstellen (die dann doch ein bisschen anders ist), um Dein Design nachzuvollziehen.

Schicke bitte den lss-Export der Umfrage.

Joffm 
​​​​​​
So, jetzt noch ein Zusatz - nicht mehr vom mobilen Gerät.

Du siehst ja die Fehler in der Bedingung.
1. Deine Codes "G0", "B0" sind doch Texte. Also müssen sie in Anführungszeichen eingeschlossen sein.

2. Ich denke, Deine Fragen sind Mehrfachnennungsfragen. Dann ist die gesamte Syntax schon nicht richtig.
In Mehrfachnennungsfragen hast Du ja eine Anzahl Teilfragen, die "gewählt" bzw. "nicht gewählt" sein können.
D.h. Du musst auf die Antwort der Teilfrage testen, ob diese "Y" ist.

3. Dann könnte die Bedingung aussehen 
sumifop("==","Y",E01G_G0,E02B_B0,E03L_L0,E04K_K0,E05IR_IR0)<5

Aber wie gesagt, ich habe keine Ahnung wie das Design Deiner Umfrage ist.
 
  • mancha
  • mancha's Avatar
07 Aug 2023 16:18
Ihre LimeSurvey-Version: Lime Survey Community Edition Version 5.4.14+221205
Eigener Server oder LimeSurvey-Cloud: Cloud
Genutzte Designvorlage: Eigene vom Arbeitgeber
==================
Hallo zusammen, 

bisherige Forenbeiträgen und das Handbuch konnten mir leider nicht helfen oder ich habe die Lösung nicht gefunden. 
Ich benötige Hilfe beim Schreiben von Bedingungen für Fragengruppen. 

Folgendes Szenario: 
Fragegruppe 1 enthält 5 Fragen mit Mehrfachauswahl, jede dieser fünf Fragen hat eine Antwort, die ich als exklusive Option definiert habe.
Fragegruppen 2-6 sollen komplett übersprungen werden, wenn bei allen Fragen aus Fragegruppe 1 die exklusive Option ausgewählt wurde.
Fragegruppe 7 soll immer angezeigt werden. 

Mein Lösungsansatz war folgende Bedingung: 
E01G!=G0 and E02B!=B0 and E03L!=L0 usw. 
E01G usw. sind die Codes der Fragen aus Fragegruppe 1 und G0 usw. sind die Codes der exklusiven Optionen dieser Fragen.
In der Fragengruppenübersicht wird mir angezeigt, dass es sich um undefinierte Variablen handelt und das verstehe ich nicht. In Beispielen im Forum und Erklärvideos im Internet wird nach meinem Verständnis einfach der Fragencode und Antwortcode verwendet, auch wenn sie aus einer anderen Fragengruppe kommen, und es funktioniert. Aber bei mir nicht, irgendwas mache ich wohl falsch, aber ich komme nicht drauf. Habe schon nach Leerzeichen gesucht und ob ich vllt. 0 und O vertauscht habe, aber das trifft alles nicht zu. 

Könnt ihr mir helfen?

Viele Grüße :)
 
  • Joffm
  • Joffm's Avatar
05 Aug 2023 22:22 - 05 Aug 2023 22:23
Hallo,
übrigens, zu Bedingungen kannst Du auch einmal mein "Tutorial 4: Gleichungen, Zufall..." lesen.
Es hat eigentlich ein anderes Thema, aber am Anfang ist ein kleiner Teil, der zeigt, wie man diese Bedingungen erstellt.
Sollte so ungefähr auf Seite 10 hier im deutschen Teil sein.

Joffm
  • Surfmedizin
  • Surfmedizin's Avatar
05 Aug 2023 21:44
Vielen Dank für die sehr hilfreichen Ausführungen.

Ich habe meinen Fehler gefunden. ich hatte für die gesamte Fragengruppe eine Bedingung ("Gruppenrelevanz") gespeichert. Die hatte ich nicht rausgenommen und hat dann logischer- (und richtigerweise) dazu geführt, dass die eigentlich optionale Frage IMMER angezeigt wurde. der Fehler lag also bei mir.
Ich werde mich mit den Hinweise nun in das ExpressionScript einarbeiten. Vielen Dank.
  • Joffm
  • Joffm's Avatar
05 Aug 2023 08:48 - 05 Aug 2023 08:49
Hallo,
ich vermute, Q1 ist eine vordefinierte J/N-Frage.
Ich habe es gerade einmal nachgebaut und sehe überhaupt kein Problem.

Anfangs


Nach Wahl von "Ja"
 

Nach Wahl von "SQ001"
 

Nach Wahl einer anderen Teilfrage


Also ist wahrscheinlich, dass Du irgendeinen Fehler machst.
Aber welcher?
Etwa stutzig machen mich diese doppelten Klammern um jeden einzelnen Term (die ja auch absolut überflüssig sind)
((Q029.NAOK == "Y")) and ((Q030_SQ001 == "Y"))
So etwas schreibt man ja nicht in die "Bedingung".
Dort würde man nur schreiben - wie ich in meinem Beispiel
 

Woher stammt dies?
Ich habe die Vermutung, dass es aus der Logik-Datei stammt, und Du diesen "Steinzeit"-Bedingungsdesigner benutzt hast.
Dieser ist m.E. seit der Einführung von ExpressionScript (ungefähr mit Version 1.92.) obsolet.
ExpressionScript ist einfacher, flexibler, mächtiger.
Hier im Handbuch eine Übersicht der "Pros" und "Cons" (hier wird noch der "alte" Ausdruck "Relevanz" benutzt, der seit Version 5 "Bedingung" heißt.
[url] manual.limesurvey.org/ExpressionScript_-...ons_and_Relevance.3F [/url]

Egal, helfen können wir dann nur, wenn Du uns den lss Export schickst.
Bitte nicht diegesamte Umfrage, wenn sie sehr lang ist, sondern nur diese relevanten Fragen.
Dann "Umfrage kopieren", "in der Kopie alles, was nicht mit dem Problem zu tun hat, löschen", "lss Export davon hier anhängen".

Bis dann
Joffm

P.S.
Noch ein Wort zu

(diese betitelt LimeSurvey als "Teilfragen")

Dies ist völlig richtig, da es sich wirklich um einzelne Fragen handelt, die jede mit "Ja" oder "Nein" beantwortet wird.
Ebenso wie die "normale" Matrix; jedes Item wird einzeln bewertet.
Datenbank- und ergebnismäßig erhält man für jede Teilfrage eine separate Spalte; d.h. man könnte diese Fragen auch als Folge von Einfachnennungen darstellen.
Daher musst Du z.B. in SPSS dem System auch immer sagen "Diese Variablen bilden ein Mehrfach-Set"
Aber ich schweife ab.

 
  • Surfmedizin
  • Surfmedizin's Avatar
04 Aug 2023 23:04 - 04 Aug 2023 23:17
Bitte helfen Sie uns, Ihnen zu helfen und füllen Sie folgende Felder aus:
Ihre LimeSurvey-Version: Version 5.6.8+230227
Eigener Server oder LimeSurvey-Cloud:
Genutzte Designvorlage:

Hallo,

ich habe folgende Frage: ich habe eine Mehrfach-Auswahlfrage (Nr.30), die angezeigt wird wenn bei der vorherigen Frage Nr. 29 die Antwort "ja" ausgewählt wurde (mit der entsprechenden Bedingung: Q029.NAOK == "Y". Nun soll der Nutzer bei der Mehrfach-Auswahlfrage alle zutreffenden Antworten (diese betitelt LimeSurvey als "Teilfragen") auswählen, wobei diese jeweils mit einem Code versehen sind (SQ001, SQ002 usw.) Dann soll eine Folgefrage angezeigt werden, die nur erscheint wenn u.a. SQ001 bei der Mehrfachauswahl angewählt. Diese Frage hat dann logischerweise zwei Bedingungen: zum einen immer noch dass Frage 29 mit "ja" beantwortet wurde und bei Frage Nr. 30 die Antwortmöglichkeit SQ001 ausgewählt wurde. Nach meinem Verständnis wäre die Bedingung dann: ((Q029.NAOK == "Y")) and ((Q030_SQ001 == "Y")). Das klappt allerdings nicht, es wird mir bei Auswahl der Frage 29 mit "ja" immer auch schon meine Folgefrage angezeigt, auch wenn ich bei meiner Mehrfach-Auswahlfrage (Nr.30) SQ001 noch gar nicht ausgewählt habe. 
Displaying 466 - 480 out of 573 results.

Lime-years ahead

Online-surveys for every purse and purpose