x

Hauptkapitel

  1. LimeSurvey Cloud oder LimeSurvey CE?
  2. LimeSurvey Cloud - Schnellstartanleitung
  3. LimeSurvey CE - Installation
  4. Wie man eine gute Umfrage gestaltet (Leitfaden)
  5. Erste Schritte
  6. LimeSurvey-Konfiguration
  7. Einführung - Umfragen
  8. Umfrageeinstellungen anzeigen
  9. Umfragemenü anzeigen
  10. Umfragestruktur anzeigen
  11. Einführung - Fragen/Fragetypen
  12. Einführung - Fragegruppen
  13. Einführung - Umfragen - Management
  14. Optionen der Umfrage-Symbolleiste
  15. Mehrsprachige Umfrage
  16. Kurzanleitung - ExpressionScript
  17. Erweiterte Funktionen
  18. Allgemeine FAQ - Häufig gestellte Fragen
  19. Fehlerbehebung
  20. Tipps und Tricks
  21. Lizenzbestimmungen
  22. Änderungshistorie
  23. Plugins - Erweitert
 Actions

Check survey logic - Advanced/de: Difference between revisions

From LimeSurvey Manual

Maren.fritz (talk | contribs)
Created page with "Die meisten ausdrucksbezogenen Fehler sind auf eine fehlerhafte Syntax zurückzuführen. Dies hängt damit zusammen, dass Umfrageadministratoren es in der Regel versäumen, ei..."
Maren.fritz (talk | contribs)
No edit summary
 
(45 intermediate revisions by the same user not shown)
Line 29: Line 29:
*'''#''' – zeigt die Anzahl der Gruppen- und Fragensequenzen an, beginnend bei 0.
*'''#''' – zeigt die Anzahl der Gruppen- und Fragensequenzen an, beginnend bei 0.


*'''Name<nowiki> [</nowiki> ID]''' – zeigt den Fragencode für die Gruppe/Frage/Unterfrage an. Diese Codes können als Variablen in [[ExpressionScript – Präsentation|Ausdrücke]] verwendet werden. '''ID''' ist die Frage-ID (QID) oder Gruppen-ID (GID). Dieses Feld zeigt auch den [[ExpressionScript - Presentation#Qcode_variable_naming|Fragetyp]] (z. B. Multiple Choice [M])).
*'''Name<nowiki> [</nowiki>ID]''' – zeigt den Fragencode für die Gruppe/Frage/Unterfrage an. Diese Codes können als Variablen in [[ExpressionScript – Präsentation|Ausdrücke]] verwendet werden. '''ID''' ist die Frage-ID (QID) oder Gruppen-ID (GID). Dieses Feld zeigt auch den [[ExpressionScript - Presentation#Qcode_variable_naming|Fragetyp]] (z. B. Multiple Choice [M])).




Line 35: Line 35:




*'''Relevanz<nowiki> [</nowiki> Validierung] (Standard)''' – zeigt Folgendes an:
*'''Relevanz<nowiki> [</nowiki>Validierung] (Standard)''' – zeigt Folgendes an:
**''Relevanz'' – die syntaxhervorgehobene [[ExpressionScript - Präsentation|Relevanzgleichung]] für die Frage oder Gruppe. Wenn es immer wahr ist (in jedem Szenario angezeigt werden soll), ist der Wert '''1''.
**''Relevanz'' – die syntaxhervorgehobene [[ExpressionScript - Präsentation|Relevanzgleichung]] für die Frage oder Gruppe. Wenn es immer wahr ist (in jedem Szenario angezeigt werden soll), ist der Wert '''1'''.
**''Validierung'' – ExpressionScript generiert automatisch die [[ExpressionScript_Engine_-_Quick_start_guide#Validation|Validierung Gleichung]] basierend auf den ausgewählten Frageattributen (z. B. minimale/maximale Anzahl von Antworten, minimale/maximale/gleich Summenwerte, minimale/maximale Einzelwerte oder Validierung regulärer Ausdrücke). In diesem Abschnitt wird die generierte Validierungsgleichung angezeigt, damit Sie erkennen können, ob Fehler vorliegen (z. B. undefinierte Variablen).
**''Validierung'' – ExpressionScript generiert automatisch die [[ExpressionScript_Engine_-_Quick_start_guide#Validation|Validierungsgleichung]] basierend auf den ausgewählten Frageattributen (z. B. minimale/maximale Anzahl von Antworten, minimale/maximale/gleiche Summenwerte, minimale/maximale Einzelwerte oder Validierung regulärer Ausdrücke). In diesem Abschnitt wird die generierte Validierungsgleichung angezeigt, damit Sie erkennen können, ob Fehler vorliegen (z. B. undefinierte Variablen).
***Die Validierung auf Fragenebene zeigt die Gleichung, die zur Überprüfung der oben beschriebenen Fragenattribute erforderlich ist
***Die Validierung auf Fragenebene zeigt die Gleichung, die zur Überprüfung der oben beschriebenen Fragenattribute erforderlich ist
* **Die Validierung auf Unterfrageebene zeigt die Gleichung an, die zum Implementieren von [[QS:Array_filter|array_filter]], [[QS:Array_filter_exclude|array_filter_exclude]] und [[QS:Exclusive_option|exclusive_option]]
***Die Validierung auf Unterfrageebene zeigt die Gleichung an, zum Implementieren von [[QS:Array_filter|array_filter]], [[QS:Array_filter_exclude|array_filter_exclude]] und [[QS:Exclusive_option|exclusive_option]]
**''Standard erforderlich ist '' – Wenn die Frage einen Standardwert hat, wird dieser hier mit hervorgehobener Syntax angezeigt (da der Standardwert ein Ausdruck sein könnte).
**''Standard'' – Wenn die Frage einen Standardwert hat, wird dieser hier mit hervorgehobener Syntax angezeigt (da der Standardwert ein Ausdruck sein könnte).


*'''Text<nowiki> [</nowiki> Hilfe] (Tipp)''' – zeigt Folgendes an:
*'''Text<nowiki> [</nowiki>Hilfe] (Tipp)''' – zeigt Folgendes an:
**''Text'' – der Text der Gruppe, Frage, Unterfrage oder Antwort. Es ist syntaxhervorgehoben, um alle eingebetteten [[ExpressionScript - Presentation#Tailoring.2FPiping|tailoring]] anzuzeigen, sodass Sie überprüfen können, ob Sie alle Variablen deklariert haben, die Sie im Tailoring verwenden möchten.
**''Text'' – der Text der Gruppe, Frage, Unterfrage oder Antwort. Es ist syntaxhervorgehoben, um alle eingebetteten [[ExpressionScript - Presentation#Tailoring.2FPiping|tailoring]] anzuzeigen, sodass Sie überprüfen können, ob Sie alle Variablen deklariert haben, die Sie im Tailoring verwenden möchten.
**''Hilfe '' – Dies zeigt den Hilfetext für die Frage, auch syntaktisch hervorgehoben.
**''Hilfe '' – Dies zeigt den Hilfetext für die Frage, auch syntaktisch hervorgehoben.
**''Tip'' – Dies zeigt den intern generierten Validierungstipp, basierend auf den Fragenattributen. Derselbe Tipp wird in allen Umfragestilen sowie in den druckbaren Umfrage- und Dateneingabebildschirmen verwendet.
**''Tip'' – Dies zeigt den intern generierten Validierungstipp, basierend auf den Fragenattributen. Derselbe Tipp wird in allen Umfragestilen sowie in den druckbaren Umfrage- und Dateneingabebildschirmen verwendet.
**„Frageattribute“ – Hier wird eine Tabelle aller relevanten Frageattribute für diese Frage angezeigt. Attribute, bei denen es sich möglicherweise um Gleichungen handelt, werden syntaktisch hervorgehoben, sodass Sie ihre Genauigkeit überprüfen können.
**''Frageattribute'' – Hier wird eine Tabelle aller relevanten Frageattribute für diese Frage angezeigt. Attribute, bei denen es sich möglicherweise um Gleichungen handelt, werden syntaktisch hervorgehoben, sodass Sie ihre Genauigkeit überprüfen können.


Zeilen sind wie folgt farblich gekennzeichnet:
Zeilen sind wie folgt farblich gekennzeichnet:
*'''Gruppen''' - werden mit einem hellgrauen Hintergrund angezeigt
*'''Gruppen''' werden mit einem hellgrauen Hintergrund angezeigt
*''''Fragen''' - werden mit einem hellgrünen Hintergrund angezeigt
*'''Fragen''' werden mit einem hellgrünen Hintergrund angezeigt
*' „Unterfragen“ – werden mit einem hellgelben Hintergrund angezeigt
*'''Unterfragen''' – werden mit einem hellgelben Hintergrund angezeigt
*„“Antworten“ – werden mit einem einfachen weißen Hintergrund angezeigt
*'''Antworten''' – werden mit einem einfachen weißen Hintergrund angezeigt


Antworten haben ein zusätzliches Attribut in der Spalte „Relevanz“:
Antworten haben ein zusätzliches Attribut in der Spalte '''Relevanz''':
*‘‘Wert‘‘ – dies ist der standardmäßige interne Wert, der von Berechnungen verwendet wird. Wenn Sie [[Bewertungen]] verwenden, ist dies der Bewertungswert. Andernfalls ist dies derselbe wie der Antwortname.
*'''Wert''' – dies ist der standardmäßige interne Wert, der von Berechnungen verwendet wird. Wenn Sie [[Bewertungen]] verwenden, ist dies der Bewertungswert. Andernfalls ist dies derselbe wie der Antwortname.




Line 63: Line 63:




Oben auf der Seite befindet sich eine zusammenfassende Meldung. Wenn alles in Ordnung ist, wird angezeigt: „In dieser Umfrage wurden keine Syntaxfehler festgestellt“ oder „Diese Gruppe“ oder „Diese Frage“ lautet „enthält selbst keine Syntaxfehler“. Wenn das Gegenteil der Fall ist, heißt es: „X Fragen weisen Syntaxfehler auf, die korrigiert werden müssen“.
Oben auf der Seite befindet sich eine zusammenfassende Meldung. Wenn alles in Ordnung ist, wird angezeigt: „In dieser Umfrage wurden keine Syntaxfehler festgestellt“, oder „Diese Gruppe“ oder „Diese Frage“ „enthält selbst keine Syntaxfehler“. Wenn das Gegenteil der Fall ist, heißt es: „X Fragen weisen Syntaxfehler auf, die korrigiert werden müssen“.


Bei jeder Frage mit Syntaxfehlern wird der Hintergrund der Spalte ganz links (z. B. „#“) rot gefärbt. Außerdem wird in der Spalte „Name [ID]“ eine Warnung mit der Anzahl der Mindestfehler einer Frage angezeigt. Folgende Fehler kommen häufig vor:
Bei jeder Frage mit Syntaxfehlern wird der Hintergrund der Spalte ganz links (z. B. „#“) rot gefärbt. Außerdem wird in der Spalte „Name [ID]“ eine Warnung mit der Anzahl der Mindestfehler einer Frage angezeigt. Folgende Fehler kommen häufig vor:


*[[Umfragelogik prüfen – Erweitert#Undefinierte Variable|Undefinierte Variable]] – Wenn Sie nicht alle Ihre Variablen definiert oder array_filter (oder verschiedene Antwortoptionen für array_filter) falsch eingegeben haben, werden bei einigen Ihrer Validierungsfragen Fehler angezeigt . Undefinierte Variablen werden in rotem Text angezeigt und mit einer roten Linie umrahmt.
*[[Umfragelogik prüfen – Erweitert#Undefinierte Variable|Undefinierte Variable]] – Wenn Sie nicht alle Ihre Variablen definiert oder array_filter (oder verschiedene Antwortoptionen für array_filter) falsch eingegeben haben, werden bei einigen Ihrer Validierungsfragen Fehler angezeigt. Undefinierte Variablen werden in rotem Text angezeigt und mit einer roten Linie umrahmt.


*[[Umfragelogik prüfen – Erweitert#Fehlerhafte Syntax|Fehlerhafte Syntax]] – Wenn Sie mit der Verwendung von Relevanzgleichungen beginnen, verwenden Sie möglicherweise zu viele oder zu wenige Klammern. Solche Syntaxprobleme werden hervorgehoben und rot eingerahmt. Wenn Sie mit der Maus über einen solchen rot umrahmten Text fahren, wird der Fehler in einer QuickInfo beschrieben.
*[[Umfragelogik prüfen – Erweitert#Fehlerhafte Syntax|Fehlerhafte Syntax]] – Wenn Sie mit der Verwendung von Relevanzgleichungen beginnen, verwenden Sie möglicherweise zu viele oder zu wenige Klammern. Solche Syntaxprobleme werden hervorgehoben und rot eingerahmt. Wenn Sie mit der Maus über einen solchen rot umrahmten Text fahren, wird der Fehler in einer QuickInfo beschrieben.
Line 74: Line 74:
Bedingungen und Gleichungen werden syntaktisch hervorgehoben, damit Sie leichter erkennen können, was Sie sehen:
Bedingungen und Gleichungen werden syntaktisch hervorgehoben, damit Sie leichter erkennen können, was Sie sehen:
# Grün/Hellblau: Eine Variable, die auf eine frühere Frage in der Umfrage verweist
# Grün/Hellblau: Eine Variable, die auf eine frühere Frage in der Umfrage verweist
# Blau : Eine Funktion
# Blau: Eine Funktion
# Grau: Ein String-Ausdruck
# Grau: Ein String-Ausdruck
# Braun: Ein TOKEN-Ausdruck (Teilnehmerdaten)
# Braun: Ein TOKEN-Ausdruck (Teilnehmerdaten)
# Schwarz: Operator
# Schwarz: Operator
Zu prüfende Dinge:
Zu prüfende Dinge:
# Lila: Eine Variable, die auf a verweist Frage später in der Umfrage. Normalerweise ist dies ein Fehler und muss überprüft werden.
# Lila: Eine Variable, die auf eine spätere Frage in der Umfrage verweist. Normalerweise ist dies ein Fehler und muss überprüft werden.
# Roter oder roter Rahmen: Eine nicht vorhandene Variable oder ein Verweis auf eine frühere Frage oder ein Syntaxfehler – muss normalerweise überprüft werden.
# Roter oder roter Rahmen: Eine nicht vorhandene Variable oder ein Verweis auf eine frühere Frage oder ein Syntaxfehler – muss normalerweise überprüft werden.


Line 95: Line 95:




<center>[[File:same_code_name_not_recommended.png]]</center>}}
<center>[[File:same_code_name_not_recommended.png]]</center>


==Fehlerhafte Syntax==
==Fehlerhafte Syntax==




Die meisten ausdrucksbezogenen Fehler sind auf eine fehlerhafte Syntax zurückzuführen. Dies hängt damit zusammen, dass Umfrageadministratoren es in der Regel versäumen, eine geschweifte Klammer einzufügen, Klammern richtig zu verwenden oder Ausdrücke falsch zu verwenden:
Die meisten ausdrucksbezogenen Fehler sind auf eine fehlerhafte Syntax zurückzuführen. Dies hängt damit zusammen, dass Umfrageadministratoren es in der Regel versäumen, eine geschweifte Klammer einzufügen, Klammern richtig zu verwenden oder Ausdrücke falsch verwenden:




Line 108: Line 108:




Here are many good examples on the usage of [[ExpressionScript How-tos#Syntax_Highlighting|syntax highlighting]].
Hier finden Sie viele gute Beispiele für die Verwendung von [[ExpressionScript-Anleitungen#Syntax_Highlighting|Syntaxhervorhebung]].




===Bad custom JavaScript===
===Fehlerhaftes benutzerdefiniertes JavaScript===




The JavaScript errors will also be highlighted in the survey logic check:
Die JavaScript-Fehler werden auch bei der Umfragelogikprüfung hervorgehoben:




<center>[[File:javascript_error.jpg]]</center>
<center>[[File:javascript_error.jpg]]</center>


=Speeding editing and validation=
=Beschleunigung der Bearbeitung und Validierung=




All of the syntax-highlighted text has tooltips embedded, which are clickable:
In den gesamten syntaxhervorgehobenen Text sind Tooltips eingebettet, die anklickbar sind:
#Tooltips
#Tooltips
#*Functions - hovering the mouse lets you see the purpose and syntax definition of the function;
#*Funktionen – wenn Sie mit der Maus darüber fahren, sehen Sie den Zweck und die Syntaxdefinition der Funktion;
#*Variable Names - hovering the mouse lets you see the position (group, question sequence), question text, and allowable answers for the question.
#*Variablennamen – Wenn Sie mit der Maus darüber fahren, können Sie die Position (Gruppe, Fragenreihenfolge), den Fragetext und die zulässigen Antworten für die Frage sehen.
#Actions
#Aktionen
#*Variable Names - clicking on the variable name opens a new window that allows you to edit the question. This makes it easy to navigate and verify logic - simply keep clicking on variable names of relevance or validation criteria for the question to see where they come from and how they are used.
#*Variablennamen – Durch Klicken auf den Variablennamen wird ein neues Fenster geöffnet, in dem Sie Folgendes tun können um die Frage zu bearbeiten. Dies erleichtert die Navigation und Überprüfung der Logik – klicken Sie einfach weiter auf die relevanten Variablennamen oder Validierungskriterien für die Frage, um zu sehen, woher sie kommen und wie sie verwendet werden.




=Examples=
=Beispiele=




The following examples are taken from the [[ExpressionScript sample surveys|ExpressionScript sample surveys]]. You can find screenshots of running surveys, explanations, and downloads on that page.
Die folgenden Beispiele stammen aus den [[ExpressionScript-Beispielumfragen|ExpressionScript-Beispielumfragen]]. Auf dieser Seite finden Sie Screenshots laufender Umfragen, Erklärungen und Downloads.




==Body Mass Index==
==Body-Mass-Index==




Here are [[ExpressionScript sample surveys#Screenshots|screenshots]] of this example.
Hier sind [[ExpressionScript-Beispielumfragen#Screenshots|Screenshots]] dieses Beispiels.


This is the question-reorder view of the Body Mass Index calculation. You can see the relevance equations for weight, height, and BMI under the ''Question'' column:
Dies ist die Frage-Neuordnungsansicht der Body-Mass-Index-Berechnung. Die Relevanzgleichungen für Gewicht, Größe und BMI finden Sie in der Spalte „Frage“:




Line 147: Line 147:




For a better survey overview, check the survey logic page:
Eine bessere Übersicht über die Umfrage finden Sie auf der Seite zur Umfragelogik:




Line 153: Line 153:




This survey example is also a good example of nested if() statements to generate the "weightstatus".
Dieses Umfragebeispiel ist auch ein gutes Beispiel für verschachtelte if()-Anweisungen zur Generierung des „weightstatus“.




<center>[[File:BMI_logic2.jpg]]</center>
<center>[[File:BMI_logic2.jpg]]</center>


==Cascading logic==
==Kaskadierende Logik==




Here are [[ExpressionScript sample surveys#Cascading Array Filters|screenshots]] of this example.
Hier sind [[ExpressionScript-Beispielumfragen#Cascading Array Filters|Screenshots]] dieses Beispiels.


It shows the subquestion validation logic that is automatically generated when you use [[QS:Array_filter|array_filter]] and [[QS:Array_filter_exclude|array_filter_exclude]]. This example also shows how you can substitute the tailored "Other" value (the answer for Q02_other is Q01_other).
Es zeigt die Unterfragen-Validierungslogik, die automatisch generiert wird, wenn Sie [[QS:Array_filter|array_filter]] und [[QS:Array_filter_exclude|array_filter_exclude]] verwenden. Dieses Beispiel zeigt auch, wie Sie den maßgeschneiderten Wert „Andere“ ersetzen können (die Antwort für Q02_andere ist Q01_andere).




Line 169: Line 169:




Q05 in this example shows simultaneous use of array_filter and array_filter_exclude on Q01 and Q02, respectively. This example demonstrates cascading array_filter capabilities. Note that one of the main reasons for showing the question and subquestion level '''validation''' criteria is to help ensure you have not made any typos in specifying the array_filter or array_filter_exclude variable names (or in case you use different variable names for your list of filtered subquestions). If you have such typos, all the invalid variable names will appear in red indicating that they are undefined, letting you quickly fix the problem.
Q05 zeigt in diesem Beispiel die gleichzeitige Verwendung von array_filter und array_filter_exclude auf Q01 bzw. Q02. Dieses Beispiel demonstriert kaskadierende array_filter-Funktionen. Beachten Sie, dass einer der Hauptgründe für die Anzeige der „Validierungskriterien“ auf Fragen- und Unterfragenebene darin besteht, sicherzustellen, dass Sie bei der Angabe der Variablennamen „array_filter“ oder „array_filter_exclude“ keine Tippfehler gemacht haben (oder falls Sie unterschiedliche Variablennamen für Ihre Liste der gefilterten Unterfragen verwenden). Wenn Sie solche Tippfehler haben, werden alle ungültigen Variablennamen in Rot angezeigt, was darauf hinweist, dass sie undefiniert sind, sodass Sie das Problem schnell beheben können.




Line 175: Line 175:




==Dynamic relevance==
==Dynamische Relevanz==




This example demonstrates dynamic cascading relevance logic to control display of question visibility. You can download this example [[ExpressionScript sample surveys#Download|here]].
Dieses Beispiel demonstriert eine dynamische kaskadierende Relevanzlogik zur Steuerung der Anzeige der Sichtbarkeit von Fragen. Sie können dieses Beispiel [[ExpressionScript-Beispielumfragen#Download|hier]] herunterladen.


Also note that questions are displayed only if certain validation criteria are met. For example, if a person states that she has 2 kids, certain questions have to be filled in by the respondent (kid1 and kid2).
Beachten Sie außerdem, dass Fragen nur angezeigt werden, wenn bestimmte Validierungskriterien erfüllt sind. Wenn eine Person beispielsweise angibt, zwei Kinder zu haben, müssen bestimmte Fragen vom Befragten ausgefüllt werden (Kind1 und Kind2).




<center>[[File:dynamic_relevance_logic1.jpg]]</center>
<center>[[File:dynamic_relevance_logic1.jpg]]</center>


==Group-level relevance==
==Relevanz auf Gruppenebene==




This example shows how group-level relevance appears in the logic check. Here are [[ExpressionScript sample surveys#Sample Census|screenshots]] of the example described below.
Dieses Beispiel zeigt, wie die Relevanz auf Gruppenebene bei der Logikprüfung angezeigt wird. Hier sind [[ExpressionScript-Beispielumfragen#Beispielzählung|Screenshots]] des unten beschriebenen Beispiels.


As you can see, the group-level relevance equation (cohabs > 1 && p1_rel != "") appear in the grey Person 2 row for G-2.
Wie Sie sehen können, erscheint die Relevanzgleichung auf Gruppenebene (cohabs > 1 && p1_rel != "") in der grauen Zeile „Person 2“ für G-2.


You may also notice that all of the questions are mandatory. However, if the group is irrelevant, so are all its questions. As a result, those questions are only truly mandatory if the group is relevant.
Möglicherweise stellen Sie auch fest, dass alle Fragen obligatorisch sind. Wenn die Gruppe jedoch irrelevant ist, sind es auch alle ihre Fragen. Daher sind diese Fragen nur dann wirklich obligatorisch, wenn die Gruppe relevant ist.


You may also note that certain questions are displayed only if the answer to the previous question is not empty. You may see below that if p2_sex is not filled in, p2_name is not going to be displayed, even though it is a mandatory questions. The mandatory question p2_age is also not going to be displayed if p2_name is not filled in. These questions can be considered "conditionally mandatory".  
Beachten Sie möglicherweise auch, dass bestimmte Fragen nur angezeigt werden, wenn die Antwort auf die vorherige Frage nicht leer ist. Unten sehen Sie möglicherweise, dass p2_name nicht angezeigt wird, wenn p2_sex nicht ausgefüllt ist, obwohl es sich um eine Pflichtfrage handelt. Die Pflichtfrage p2_age wird ebenfalls nicht angezeigt, wenn p2_name nicht ausgefüllt ist. Diese Fragen können als „bedingt obligatorisch“ betrachtet werden.  


Additionally, note that the '''tip''' messages are also automatically created for you. They are organized by value range (min/max), sum value range (min/max/equals), number of answers (min/max), etc (it depends on the used question type and active attributes). Sometimes you want to validate an answer range but don't want to display what might appear to be silly validation tips to the user. In such cases, you can use the [[QS:Hide_tip|hide_tip]] question option (as in this case, to avoid telling the user that the age must be between 0 and 115 unless they try to enter a bad value - see p2_age).
Beachten Sie außerdem, dass auch die „Tipp“-Nachrichten automatisch für Sie erstellt werden. Sie sind nach Wertebereich (Min./Max.), Summenwertebereich (Min./Max./Gleich), Anzahl der Antworten (Min./Max.) usw. organisiert (dies hängt vom verwendeten Fragetyp und den aktiven Attributen ab). Manchmal möchten Sie einen Antwortbereich validieren, dem Benutzer aber keine möglicherweise albern erscheinenden Validierungstipps anzeigen. In solchen Fällen können Sie die Frageoption [[QS:Hide_tip|hide_tip]] verwenden (wie in diesem Fall, um dem Benutzer nicht mitzuteilen, dass das Alter zwischen 0 und 115 liegen muss, es sei denn, er versucht, einen falschen Wert einzugeben – siehe p2_age).




<center>[[File:person2_logic.jpg]]</center>
<center>[[File:person2_logic.jpg]]</center>


==Comma as radix (decimal) separator==
==Komma als Basis-(Dezimal-)Trennzeichen==




Although LimeSurvey fully supports the use of comma as radix (decimal) separator at run-time, you must still use a decimal as the radix separator at the design-time (e.g., when specifying min/max values in advanced question attributes). The working example can be [[ExpressionScript sample surveys#Using Comma as Radix Separator (Decimal Point)|found here]].
Obwohl LimeSurvey die Verwendung von Kommas als Basistrennzeichen (Dezimaltrennzeichen) zur Laufzeit vollständig unterstützt, müssen Sie zur Entwurfszeit immer noch eine Dezimalzahl als Basistrennzeichen verwenden (z. B. wenn Sie Min/Max-Werte in erweiterten Fragenattributen angeben). Das Arbeitsbeispiel kann [[ExpressionScript-Beispielumfragen#Verwendung von Komma als Basistrennzeichen (Dezimalpunkt)|hier gefunden]] sein.


Also, remember that the '''validation''' logic is created for you automatically from the enabled question attributes. The equations may look overwhelming, but you don't need to worry about them.
Denken Sie außerdem daran, dass die „Validierungslogik“ automatisch aus den aktivierten Frageattributen für Sie erstellt wird. Die Gleichungen sehen vielleicht überwältigend aus, aber Sie brauchen sich darüber keine Sorgen zu machen.




<center>[[File:radix_logic1.jpg]]</center>
<center>[[File:radix_logic1.jpg]]</center>

Latest revision as of 09:46, 13 February 2024


Allgemein

Eine wichtige Option, die Ihnen bei der Erstellung und einfachen Pflege komplexer Umfragen hilft, ist „Umfragelogik prüfen“.

Während der Entwicklung und dem Testen der Umfrage und vor ihrer Aktivierung ist es sehr wichtig, die Umfragelogik zu validieren. Dies gilt insbesondere dann, wenn Sie komplexe Relevanz-, Anpassungs- und Validierungsgleichungen verwenden – Sie müssen sicher sein, dass bei der Durchführung der Umfrage nichts kaputt geht.

Mit dieser Funktion können Sie die Genauigkeit Ihrer Umfrage, Gruppe(n) und Frage(n) schnell überprüfen. Der Zugriff erfolgt über die Menüoptionen in der oberen Leiste, die sich unter den umfragebezogenen Einstellungen befinden. Es ist über das Menü „Extras“ verfügbar:



Wie Sie oben sehen können, können Sie diese Option viermal für jede in einer Umfrage verwendete Sprache ausführen.

Beschreibung

Die Option „Umfragelogik prüfen“ zeigt alles, was Sie für jede Frage und Gruppe angegeben haben (z. B. Name, Text, Hilfe, Bedingungen/Relevanz, Validierungsregeln, Standardeinstellungen, Unterfragen, Antworten) in einem praktischen Tabellenformat an. Es hebt die Fehler hervor und ermöglicht Ihnen, auf die Fragen- und Gruppen-IDs (oder in Gleichungen verwendeten Variablen) zu klicken, um neue Browser-Registerkarten zu öffnen und diese Fragen oder Gruppen zu bearbeiten. Dadurch ist es einfach, etwaige Fehler schnell zu bearbeiten und die Logikprüfungsseite zu aktualisieren, um die Richtigkeit der Umfrage vor der Aktivierung zu bestätigen.

Die Anzeige ist außerdem so gestaltet, dass sie von Forschern und Studiensponsoren lesbar ist, damit sie die Genauigkeit des Umfragedesigns und der Umfragelogik überprüfen können. Durch die Überprüfung der Umfragelogik wird der Cache für alle Ausdrücke aktualisiert, die in einer aktiven Umfrage verwendet werden.

Es enthält die folgenden Spalten:

  • # – zeigt die Anzahl der Gruppen- und Fragensequenzen an, beginnend bei 0.
  • Name [ID] – zeigt den Fragencode für die Gruppe/Frage/Unterfrage an. Diese Codes können als Variablen in Ausdrücke verwendet werden. ID ist die Frage-ID (QID) oder Gruppen-ID (GID). Dieses Feld zeigt auch den Fragetyp (z. B. Multiple Choice [M])).


Template:Hinweis


  • Relevanz [Validierung] (Standard) – zeigt Folgendes an:
    • Relevanz – die syntaxhervorgehobene Relevanzgleichung für die Frage oder Gruppe. Wenn es immer wahr ist (in jedem Szenario angezeigt werden soll), ist der Wert 1.
    • Validierung – ExpressionScript generiert automatisch die Validierungsgleichung basierend auf den ausgewählten Frageattributen (z. B. minimale/maximale Anzahl von Antworten, minimale/maximale/gleiche Summenwerte, minimale/maximale Einzelwerte oder Validierung regulärer Ausdrücke). In diesem Abschnitt wird die generierte Validierungsgleichung angezeigt, damit Sie erkennen können, ob Fehler vorliegen (z. B. undefinierte Variablen).
      • Die Validierung auf Fragenebene zeigt die Gleichung, die zur Überprüfung der oben beschriebenen Fragenattribute erforderlich ist
      • Die Validierung auf Unterfrageebene zeigt die Gleichung an, zum Implementieren von array_filter, array_filter_exclude und exclusive_option
    • Standard – Wenn die Frage einen Standardwert hat, wird dieser hier mit hervorgehobener Syntax angezeigt (da der Standardwert ein Ausdruck sein könnte).
  • Text [Hilfe] (Tipp) – zeigt Folgendes an:
    • Text – der Text der Gruppe, Frage, Unterfrage oder Antwort. Es ist syntaxhervorgehoben, um alle eingebetteten tailoring anzuzeigen, sodass Sie überprüfen können, ob Sie alle Variablen deklariert haben, die Sie im Tailoring verwenden möchten.
    • Hilfe – Dies zeigt den Hilfetext für die Frage, auch syntaktisch hervorgehoben.
    • Tip – Dies zeigt den intern generierten Validierungstipp, basierend auf den Fragenattributen. Derselbe Tipp wird in allen Umfragestilen sowie in den druckbaren Umfrage- und Dateneingabebildschirmen verwendet.
    • Frageattribute – Hier wird eine Tabelle aller relevanten Frageattribute für diese Frage angezeigt. Attribute, bei denen es sich möglicherweise um Gleichungen handelt, werden syntaktisch hervorgehoben, sodass Sie ihre Genauigkeit überprüfen können.

Zeilen sind wie folgt farblich gekennzeichnet:

  • Gruppen – werden mit einem hellgrauen Hintergrund angezeigt
  • Fragen – werden mit einem hellgrünen Hintergrund angezeigt
  • Unterfragen – werden mit einem hellgelben Hintergrund angezeigt
  • Antworten – werden mit einem einfachen weißen Hintergrund angezeigt

Antworten haben ein zusätzliches Attribut in der Spalte Relevanz:

  • Wert – dies ist der standardmäßige interne Wert, der von Berechnungen verwendet wird. Wenn Sie Bewertungen verwenden, ist dies der Bewertungswert. Andernfalls ist dies derselbe wie der Antwortname.


Template:Hinweis

Verwendung

Oben auf der Seite befindet sich eine zusammenfassende Meldung. Wenn alles in Ordnung ist, wird angezeigt: „In dieser Umfrage wurden keine Syntaxfehler festgestellt“, oder „Diese Gruppe“ oder „Diese Frage“ „enthält selbst keine Syntaxfehler“. Wenn das Gegenteil der Fall ist, heißt es: „X Fragen weisen Syntaxfehler auf, die korrigiert werden müssen“.

Bei jeder Frage mit Syntaxfehlern wird der Hintergrund der Spalte ganz links (z. B. „#“) rot gefärbt. Außerdem wird in der Spalte „Name [ID]“ eine Warnung mit der Anzahl der Mindestfehler einer Frage angezeigt. Folgende Fehler kommen häufig vor:

  • Undefinierte Variable – Wenn Sie nicht alle Ihre Variablen definiert oder array_filter (oder verschiedene Antwortoptionen für array_filter) falsch eingegeben haben, werden bei einigen Ihrer Validierungsfragen Fehler angezeigt. Undefinierte Variablen werden in rotem Text angezeigt und mit einer roten Linie umrahmt.
  • Fehlerhafte Syntax – Wenn Sie mit der Verwendung von Relevanzgleichungen beginnen, verwenden Sie möglicherweise zu viele oder zu wenige Klammern. Solche Syntaxprobleme werden hervorgehoben und rot eingerahmt. Wenn Sie mit der Maus über einen solchen rot umrahmten Text fahren, wird der Fehler in einer QuickInfo beschrieben.

Farben in der ExpressScript-Syntax

Bedingungen und Gleichungen werden syntaktisch hervorgehoben, damit Sie leichter erkennen können, was Sie sehen:

  1. Grün/Hellblau: Eine Variable, die auf eine frühere Frage in der Umfrage verweist
  2. Blau: Eine Funktion
  3. Grau: Ein String-Ausdruck
  4. Braun: Ein TOKEN-Ausdruck (Teilnehmerdaten)
  5. Schwarz: Operator

Zu prüfende Dinge:

  1. Lila: Eine Variable, die auf eine spätere Frage in der Umfrage verweist. Normalerweise ist dies ein Fehler und muss überprüft werden.
  2. Roter oder roter Rahmen: Eine nicht vorhandene Variable oder ein Verweis auf eine frühere Frage oder ein Syntaxfehler – muss normalerweise überprüft werden.


Undefinierte Variablen

Werden undefinierte Variablen verwendet, wird der jeweilige Variablenname rot farblich gekennzeichnet und von einer roten Linie umgeben. Wenn Sie mit der Maus über den Variablennamen fahren, wird „undefinierte Variable“ angezeigt:



  Achtung : Bitte beachten Sie, dass LimeSurvey es Umfrageadministratoren nicht erlaubt, Fragen zu erstellen, die denselben Fragencode verwenden. Allerdings kann es vorkommen, dass innerhalb einer Umfrage ähnliche Fragecodes vorhanden sind, wenn Sie eine Fragengruppe oder eine Frage importieren, die denselben Fragecode wie eine Ihrer bereits definierten Fragen verwendet. Die Frage kann weiterhin importiert werden, da die Fragen-IDs unterschiedlich sind. Wenn Sie jedoch die Umfrageergebnisse exportieren möchten, um die Umfrageergebnisse (R oder SPSS) weiter zu untersuchen, seien Sie vorsichtig, da der Fragecode als Variable betrachtet wird!



Fehlerhafte Syntax

Die meisten ausdrucksbezogenen Fehler sind auf eine fehlerhafte Syntax zurückzuführen. Dies hängt damit zusammen, dass Umfrageadministratoren es in der Regel versäumen, eine geschweifte Klammer einzufügen, Klammern richtig zu verwenden oder Ausdrücke falsch verwenden:



Hier finden Sie viele gute Beispiele für die Verwendung von Syntaxhervorhebung.


Fehlerhaftes benutzerdefiniertes JavaScript

Die JavaScript-Fehler werden auch bei der Umfragelogikprüfung hervorgehoben:


Beschleunigung der Bearbeitung und Validierung

In den gesamten syntaxhervorgehobenen Text sind Tooltips eingebettet, die anklickbar sind:

  1. Tooltips
    • Funktionen – wenn Sie mit der Maus darüber fahren, sehen Sie den Zweck und die Syntaxdefinition der Funktion;
    • Variablennamen – Wenn Sie mit der Maus darüber fahren, können Sie die Position (Gruppe, Fragenreihenfolge), den Fragetext und die zulässigen Antworten für die Frage sehen.
  2. Aktionen
    • Variablennamen – Durch Klicken auf den Variablennamen wird ein neues Fenster geöffnet, in dem Sie Folgendes tun können um die Frage zu bearbeiten. Dies erleichtert die Navigation und Überprüfung der Logik – klicken Sie einfach weiter auf die relevanten Variablennamen oder Validierungskriterien für die Frage, um zu sehen, woher sie kommen und wie sie verwendet werden.


Beispiele

Die folgenden Beispiele stammen aus den ExpressionScript-Beispielumfragen. Auf dieser Seite finden Sie Screenshots laufender Umfragen, Erklärungen und Downloads.


Body-Mass-Index

Hier sind Screenshots dieses Beispiels.

Dies ist die Frage-Neuordnungsansicht der Body-Mass-Index-Berechnung. Die Relevanzgleichungen für Gewicht, Größe und BMI finden Sie in der Spalte „Frage“:



Eine bessere Übersicht über die Umfrage finden Sie auf der Seite zur Umfragelogik:



Dieses Umfragebeispiel ist auch ein gutes Beispiel für verschachtelte if()-Anweisungen zur Generierung des „weightstatus“.


Kaskadierende Logik

Hier sind Screenshots dieses Beispiels.

Es zeigt die Unterfragen-Validierungslogik, die automatisch generiert wird, wenn Sie array_filter und array_filter_exclude verwenden. Dieses Beispiel zeigt auch, wie Sie den maßgeschneiderten Wert „Andere“ ersetzen können (die Antwort für Q02_andere ist Q01_andere).



Q05 zeigt in diesem Beispiel die gleichzeitige Verwendung von array_filter und array_filter_exclude auf Q01 bzw. Q02. Dieses Beispiel demonstriert kaskadierende array_filter-Funktionen. Beachten Sie, dass einer der Hauptgründe für die Anzeige der „Validierungskriterien“ auf Fragen- und Unterfragenebene darin besteht, sicherzustellen, dass Sie bei der Angabe der Variablennamen „array_filter“ oder „array_filter_exclude“ keine Tippfehler gemacht haben (oder falls Sie unterschiedliche Variablennamen für Ihre Liste der gefilterten Unterfragen verwenden). Wenn Sie solche Tippfehler haben, werden alle ungültigen Variablennamen in Rot angezeigt, was darauf hinweist, dass sie undefiniert sind, sodass Sie das Problem schnell beheben können.



Dynamische Relevanz

Dieses Beispiel demonstriert eine dynamische kaskadierende Relevanzlogik zur Steuerung der Anzeige der Sichtbarkeit von Fragen. Sie können dieses Beispiel hier herunterladen.

Beachten Sie außerdem, dass Fragen nur angezeigt werden, wenn bestimmte Validierungskriterien erfüllt sind. Wenn eine Person beispielsweise angibt, zwei Kinder zu haben, müssen bestimmte Fragen vom Befragten ausgefüllt werden (Kind1 und Kind2).


Relevanz auf Gruppenebene

Dieses Beispiel zeigt, wie die Relevanz auf Gruppenebene bei der Logikprüfung angezeigt wird. Hier sind Screenshots des unten beschriebenen Beispiels.

Wie Sie sehen können, erscheint die Relevanzgleichung auf Gruppenebene (cohabs > 1 && p1_rel != "") in der grauen Zeile „Person 2“ für G-2.

Möglicherweise stellen Sie auch fest, dass alle Fragen obligatorisch sind. Wenn die Gruppe jedoch irrelevant ist, sind es auch alle ihre Fragen. Daher sind diese Fragen nur dann wirklich obligatorisch, wenn die Gruppe relevant ist.

Beachten Sie möglicherweise auch, dass bestimmte Fragen nur angezeigt werden, wenn die Antwort auf die vorherige Frage nicht leer ist. Unten sehen Sie möglicherweise, dass p2_name nicht angezeigt wird, wenn p2_sex nicht ausgefüllt ist, obwohl es sich um eine Pflichtfrage handelt. Die Pflichtfrage p2_age wird ebenfalls nicht angezeigt, wenn p2_name nicht ausgefüllt ist. Diese Fragen können als „bedingt obligatorisch“ betrachtet werden.

Beachten Sie außerdem, dass auch die „Tipp“-Nachrichten automatisch für Sie erstellt werden. Sie sind nach Wertebereich (Min./Max.), Summenwertebereich (Min./Max./Gleich), Anzahl der Antworten (Min./Max.) usw. organisiert (dies hängt vom verwendeten Fragetyp und den aktiven Attributen ab). Manchmal möchten Sie einen Antwortbereich validieren, dem Benutzer aber keine möglicherweise albern erscheinenden Validierungstipps anzeigen. In solchen Fällen können Sie die Frageoption hide_tip verwenden (wie in diesem Fall, um dem Benutzer nicht mitzuteilen, dass das Alter zwischen 0 und 115 liegen muss, es sei denn, er versucht, einen falschen Wert einzugeben – siehe p2_age).


Komma als Basis-(Dezimal-)Trennzeichen

Obwohl LimeSurvey die Verwendung von Kommas als Basistrennzeichen (Dezimaltrennzeichen) zur Laufzeit vollständig unterstützt, müssen Sie zur Entwurfszeit immer noch eine Dezimalzahl als Basistrennzeichen verwenden (z. B. wenn Sie Min/Max-Werte in erweiterten Fragenattributen angeben). Das Arbeitsbeispiel kann hier gefunden sein.

Denken Sie außerdem daran, dass die „Validierungslogik“ automatisch aus den aktivierten Frageattributen für Sie erstellt wird. Die Gleichungen sehen vielleicht überwältigend aus, aber Sie brauchen sich darüber keine Sorgen zu machen.