Actions

ExpressionScript Engine - Quick start guide/de: Difference between revisions

From LimeSurvey Manual

(Created page with "Der BMI-Bericht sieht so aus:")
No edit summary
 
(44 intermediate revisions by the same user not shown)
Line 7: Line 7:


In [https://www.limesurvey.org LimeSurvey] können Sie Ihre Umfragen über die Verwendung von ExpressionScript (kurz: ES) weiter anpassen.
In [https://www.limesurvey.org LimeSurvey] können Sie Ihre Umfragen über die Verwendung von ExpressionScript (kurz: ES) weiter anpassen.
Sidenote: „ExpressionScript wurde in früheren Versionen Expression Manager (EM) genannt. Wenn Sie Expression Manager irgendwo lesen, ist es nur der alte Name von ES.
Sidenote: "ExpressionScript wurde in früheren Versionen Expression Manager (EM) genannt. Wenn Sie Expression Manager irgendwo lesen, ist es nur der alte Name von ES."


Mit ES kann Folgendes angegeben werden:
Mit ES kann Folgendes angegeben werden:


# '''Navigation/Verzweigung'' - ermöglicht es den Antworten eines Befragten, die Reihenfolge zu ändern, in der die Fragen angezeigt werden;
# '''Navigation/Verzweigung''' - ermöglicht es den Antworten eines Befragten, die Reihenfolge zu ändern, in der die Fragen angezeigt werden;
# '''Anpassung/Verzweigung''' - hilft Ihnen bei der Formulierung der Frage (z frühere Antworten oder das Konjugieren von Sätzen basierend auf dem Alter oder Geschlecht Ihrer Probanden) oder wie Sie benutzerdefinierte Berichte erstellen (z. B. Bewertungsergebnisse oder maßgeschneiderte Ratschläge);
# '''Tailoring/Piping''' - hilft Ihnen bei der Formulierung der Frage (z. B. Bezugnahme auf frühere Antworten oder Konjugation von Sätzen auf der Grundlage des Alters oder Geschlechts Ihrer Probanden) oder bei der Erstellung benutzerdefinierter Berichte (z. B. Bewertungsergebnisse oder maßgeschneiderte Ratschläge);
# '''Validierung''' - stellt sicher, dass die Antworten bestimmte Kriterien erfüllen, wie Min- und Max-Werte oder ein bestimmtes Eingabemuster.
# '''Validierung''' - stellt sicher, dass die Antworten bestimmte Kriterien erfüllen, wie Min- und Max-Werte oder ein bestimmtes Eingabemuster.


Line 28: Line 28:
Einige Umfragen verwenden die „Gehe zu-Logik“, sodass Sie zu Frage 5 weitergeleitet werden, wenn Sie Frage 1 mit Option C beantworten. Dieser Ansatz ist sehr begrenzt, da er schwer zu validieren ist. Außerdem geht es leicht kaputt, wenn Sie Fragen neu anordnen müssen. Andererseits verwendet ES [https://en.wikipedia.org/wiki/Boolean_algebra Boolesche Relevanzgleichungen], um alle Bedingungen anzugeben, unter denen eine Frage gültig sein könnte. Wenn die Frage relevant ist, wird die Frage angezeigt, andernfalls ist sie nicht anwendbar und der Wert „NULL“ wird in der Datenbank gespeichert.  
Einige Umfragen verwenden die „Gehe zu-Logik“, sodass Sie zu Frage 5 weitergeleitet werden, wenn Sie Frage 1 mit Option C beantworten. Dieser Ansatz ist sehr begrenzt, da er schwer zu validieren ist. Außerdem geht es leicht kaputt, wenn Sie Fragen neu anordnen müssen. Andererseits verwendet ES [https://en.wikipedia.org/wiki/Boolean_algebra Boolesche Relevanzgleichungen], um alle Bedingungen anzugeben, unter denen eine Frage gültig sein könnte. Wenn die Frage relevant ist, wird die Frage angezeigt, andernfalls ist sie nicht anwendbar und der Wert „NULL“ wird in der Datenbank gespeichert.  


<div class="mw-translate-fuzzy">
<div class='simplebox'>'''Hinweis:''' Dies ähnelt dem, was über den [[Bedingungen festlegen|Bedingungseditor]] erfolgen kann, mit ES können Sie jedoch ganz einfach viel komplexere und leistungsfähigere Kriterien angeben (und den Variablennamen anstelle von SGQA-Kennungen verwenden).</div>
<div class='simplebox'>'''Hinweis:'' Dies ähnelt dem, was über den [[Bedingungen festlegen|Bedingungseditor]] erfolgen kann, mit ES können Sie jedoch ganz einfach viel komplexere und leistungsfähigere Kriterien angeben (und den Variablennamen anstelle von verwenden). SGQA-Kennungen).</div>
</div>




Line 38: Line 36:
Um das Relevanzkonzept besser zu verstehen, konzentrieren wir uns auf die folgende Umfrage, die den Body-Mass-Index (BMI) der Umfrageteilnehmer berechnet. Um es herunterzuladen, klicken Sie auf den folgenden Link: [[Media:LS3_em_tailoring.zip|Beispiel für eine Body-Mass-Index-Umfrage]].
Um das Relevanzkonzept besser zu verstehen, konzentrieren wir uns auf die folgende Umfrage, die den Body-Mass-Index (BMI) der Umfrageteilnehmer berechnet. Um es herunterzuladen, klicken Sie auf den folgenden Link: [[Media:LS3_em_tailoring.zip|Beispiel für eine Body-Mass-Index-Umfrage]].


<div class="mw-translate-fuzzy">
Die Relevanzgleichung wird unten in der Spalte „Relevanz“ nach dem Variablennamen angezeigt. Die Relevanzwerte von „weight“, „weight_units“, „height“ und „height_units“ sind alle 1 (Standardwert), was bedeutet, dass diese Fragen immer angezeigt werden. Die Relevanz für den BMI beträgt jedoch {!is_empty(height) und !is_empty(weight)}, was bedeutet, dass der BMI nur berechnet wird, wenn der Proband einen Wert sowohl für Größe als auch für Gewicht eingibt (wodurch das Risiko eines Nullfehlers vermieden wird). Außerdem wird die Frage „Bericht“ nur angezeigt, wenn der Befragte alle vier Hauptfragen (Größe, Höheneinheiten, Gewicht, Gewichtseinheiten) beantwortet.
Die Relevanzgleichung wird unten in der Spalte „Relevanz“ nach dem Variablennamen angezeigt. Die Relevanzwerte von „weight“, „weight_units“, „height“ und „height_units“ sind alle 1 (Standardwert), was bedeutet, dass diese Fragen immer angezeigt werden. Die Relevanz für den BMI beträgt jedoch {!is_empty(height) und !is_empty(weight)}, was bedeutet, dass der BMI nur berechnet wird, wenn der Proband einen Wert sowohl für Größe als auch für Gewicht eingibt (wodurch das Risiko eines Nullfehlers vermieden wird). ). Außerdem wird die Frage „Bericht“ nur angezeigt, wenn der Befragte alle vier Hauptfragen (Größe, Höheneinheiten, Gewicht, Gewichtseinheiten) beantwortet.
</div>




<center>[[Datei:tutorial1.jpg]]</center>
<center>[[File:tutorial1.jpg]]</center>




<div class="simplebox">[[Datei:help.png]] '''Hinweis:''' Das obige Bild stammt aus der [[Logikdatei anzeigen|Umfragelogikdatei]], mit der Sie vor der Aktivierung der Umfrage nach Syntaxfehlern suchen können.</div>
<div class="simplebox">[[File:help.png]] '''Hinweis:''' Das obige Bild stammt aus der [[Logikdatei anzeigen|Umfragelogikdatei]], mit der Sie vor der Aktivierung der Umfrage nach Syntaxfehlern suchen können.</div>




Line 60: Line 56:




<center>[[Datei:tutorial2.jpg]]</center>
<center>[[File:tutorial2.jpg]]</center>




Line 66: Line 62:




<center>[[Datei:tutorial3.jpg]]</center>
<center>[[File:tutorial3.jpg]]</center>




Line 77: Line 73:
Konzentrieren wir uns nun auf ein anderes Beispiel – eine einfache Volkszählungsumfrage. Um es herunterzuladen, klicken Sie auf den folgenden Link: [[Media:LS3_group_relevance.zip|Beispiel für eine Volkszählungsumfrage]].  
Konzentrieren wir uns nun auf ein anderes Beispiel – eine einfache Volkszählungsumfrage. Um es herunterzuladen, klicken Sie auf den folgenden Link: [[Media:LS3_group_relevance.zip|Beispiel für eine Volkszählungsumfrage]].  


Auf der ersten Seite wird abgefragt, wie viele Personen bei Ihnen wohnen, und dies wird in der Variable „cohabs“ gespeichert. Diese Seite wird nur angezeigt, wenn Sie mehr als einen Mitbewohner haben (sie wird für die zweite Person angezeigt, die mit Ihnen zusammenlebt). Außerdem p2name, p2age. p2sum werden nur angezeigt, wenn die Frage vor jeder von ihnen eine Antwort enthält.
Auf der ersten Seite wird abgefragt, wie viele Personen bei Ihnen wohnen, und dies wird in der Variable „cohabs“ gespeichert. Diese Seite wird nur angezeigt, wenn Sie mehr als einen Mitbewohner haben (sie wird für die zweite Person angezeigt, die mit Ihnen zusammenlebt). Außerdem werden p2name, p2age und p2sum nur dann angezeigt, wenn die Frage vor jeder dieser Fragen eine Antwort enthält.




<center>[[Datei:tutorial4.jpg]]</center>
<center>[[File:tutorial4.jpg]]</center>




Line 88: Line 84:




<center>[[Datei:tutorial5.jpg]]</center>
<center>[[File:tutorial5.jpg]]</center>




Line 96: Line 92:




Mit EM können Sie einfach und komplex das bedingte Anpassen Ihrer Fragen durchführen. Manchmal brauchen Sie nur eine einfache Ersetzung, zum Beispiel: "Sie haben angegeben, dass Sie <nowiki>[ </nowiki>Produkt] gekauft haben. Was hat Ihnen am besten gefallen?" Manchmal brauchen Sie eine bedingte Ersetzung wie "<nowiki>[ </nowiki>Herr/Frau] <nowiki>[</nowiki> NachName], wären Sie bereit, unsere Umfrage auszufüllen? ". In diesem Fall möchten Sie Herrn oder Frau basierend auf dem Geschlecht der Person verwenden. In anderen Fällen benötigen Sie eine noch komplexere Substitution (zum Beispiel basierend auf einer mathematischen Berechnung). EM unterstützt jede dieser Arten von Anpassung/Ersetzung.
Mit EM können Sie einfach und komplex das bedingte Anpassen Ihrer Fragen durchführen. Manchmal brauchen Sie nur eine einfache Ersetzung, zum Beispiel: "Sie haben angegeben, dass Sie <nowiki>[</nowiki>Produkt] gekauft haben. Was hat Ihnen am besten gefallen?" Manchmal brauchen Sie eine bedingte Ersetzung wie "<nowiki>[</nowiki>Herr/Frau] <nowiki>[</nowiki>NachName], wären Sie bereit, unsere Umfrage auszufüllen? ". In diesem Fall möchten Sie Herrn oder Frau basierend auf dem Geschlecht der Person verwenden. In anderen Fällen benötigen Sie eine noch komplexere Substitution (zum Beispiel basierend auf einer mathematischen Berechnung). EM unterstützt jede dieser Arten von Anpassung/Ersetzung.




===Bedingte Gleichungen===
===Bedingungsgleichungen===




Das Beispiel des Body-Mass-Index zeigt die Möglichkeit, den BMI einer Person zu berechnen, auch wenn sie ihre Größe und ihr Gewicht in zwei verschiedenen Einheiten eingeben kann (cm vs. Zoll und kg vs. Pfund):
Das Beispiel des Body-Mass-Index zeigt die Möglichkeit, den BMI einer Person zu berechnen, auch wenn sie ihre Größe und ihr Gewicht in zwei verschiedenen Einheiten (cm vs. Inches und kg vs. lbs) eingeben kann:




<center>[[Datei:tutorial1.jpg]]</center>
<center>[[File:tutorial1.jpg]]</center>




In diesem Fall ist Weightkg {if(weightunits == "kg", Weight, Weight * 0.453592)}. Diese „if()“-Funktion bedeutet, dass, wenn der Proband das Gewicht in Kilogramm eingibt, dieser Wert verwendet wird, andernfalls der eingegebene Wert (Pfund ist die Alternative) mit 0,453592 multipliziert wird, um ihn in Kilogramm umzurechnen. Die Variable heightm verwendet einen ähnlichen Ansatz, um die Größe der Person in Metern (Größe in cm/100) zu berechnen, auch wenn sie ihre Größe in Zoll (1 Meter = 3,28084 Zoll) eingegeben hat.
In diesem Fall ist Gewicht kg {if(weightunits == "kg", Gewicht, Gewicht * 0,453592)}. Diese „if()“-Funktion bedeutet, dass, wenn der Proband das Gewicht in Kilogramm eingibt, dieser Wert verwendet wird, und andernfalls wird der eingegebene Wert (Pfund ist die Alternative) mit 0,453592 multipliziert, um ihn in Kilogramm umzurechnen. Die Variable heightm verwendet einen ähnlichen Ansatz, um die Größe der Person in Metern (Größe in cm/100) zu berechnen, auch wenn sie ihre Größe in Zoll (1 Meter = 3,28084 Zoll) eingegeben hat.


Der BMI wird wie folgt berechnet: {Gewichtkg / (Höhem * Körpergröße)}.
Der BMI wird wie folgt berechnet: {Gewichtkg / (Höhem * Körpergrößem)}.


Schließlich passt der Bericht die Nachricht bedingt an den Betreff an und teilt ihm mit, was er eingegeben hat. (z. B. „Sie sagten, Sie seien 2 Meter groß und wiegen 70 kg.“)
Schließlich passt der Bericht die Nachricht bedingt an den Betreffenden an, indem er ihm mitteilt, was er eingegeben hat. (z. B. "Sie haben angegeben, dass Sie 2 m groß sind und 70 kg wiegen").


Im folgenden Bild verwendet Weightstatus verschachtelte „if()“-Anweisungen, um die Person als untergewichtig bis stark fettleibig zu kategorisieren. Sie können die Gleichung sehen, indem Sie ihre Logik überprüfen:
Im folgenden Bild verwendet Weightstatus verschachtelte „if()“-Anweisungen, um die Person als untergewichtig bis stark fettleibig zu kategorisieren. Sie können die Gleichung sehen, indem Sie ihre Logik überprüfen:




<center>[[Datei:tailoring8.jpg]]</center>
<center>[[File:tailoring8.jpg]]</center>




Im Bearbeitungsfenster für diese Frage können Sie zwei Dinge sehen:
Im Bearbeitungsfenster für diese Frage können Sie zwei Dinge sehen:
#Die Anpassung muss Ausdrücke mit geschweiften Klammern umgeben
#Tailoring muss Ausdrücke mit geschweiften Klammern umgeben
#Ausdrücke können sich über mehrere Zeilen erstrecken, wenn Sie, wie in diesem Fall, die Lesbarkeit verbessern möchten verschachtelte bedingte Logik.
#Ausdrücke können sich über mehrere Zeilen erstrecken, wenn Sie, wie in diesem Fall, die verschachtelte bedingte Logik leichter lesbar machen wollen.




<center>[[Datei:tailoring9.jpg]]</center>
<center>[[File:tailoring9.jpg]]</center>




Line 131: Line 127:




<div class="simplebox">[[File:help.png]] '''Hinweis:''' Die dynamische Anpassung funktioniert möglicherweise nicht, wenn Antwortoptionen in Auswahlfeldern auf derselben Fragenseite verfügbar gemacht werden. Dies resultiert aus der Tatsache, dass Schneidereinlagen a<nowiki></nowiki> <span>Tag, der innerhalb der Auswahloptionen ungültig ist.</span>
<div class="simplebox">[[File:help.png]] '''Hinweis:''' Die dynamische Anpassung funktioniert möglicherweise nicht, wenn Antwortoptionen in Auswahlfeldern auf derselben Fragenseite verfügbar gemacht werden. Dies ist darauf zurückzuführen, dass das Tailoring einen <nowiki><span></nowiki>-Tag einfügt, der innerhalb von Auswahloptionen nicht zulässig ist.</div>


Der BMI-Bericht sieht so aus:
Der BMI-Bericht sieht so aus:
Line 139: Line 135:




Here is the edit window for the same question.
Hier ist das Bearbeitungsfenster für dieselbe Frage.




Line 145: Line 141:




Anything within curly braces is treated as an expression, being syntax-highlighted (color coded) in the prior image. If you have any typos (such as misspelled or undefined variable names or functions), ES would show an error. In our below example:
Alles in geschweiften Klammern wird als Ausdruck behandelt und im vorherigen Bild syntaktisch hervorgehoben (farblich gekennzeichnet). Wenn Sie Tippfehler haben (z. B. falsch geschriebene oder undefinierte Variablennamen oder Funktionen), zeigt ES einen Fehler an. In unserem folgenden Beispiel:
* heightunit.shown is an undefined variable name (it is actually heightunits.shown) and
* heightunit.shown ist ein undefinierter Variablenname (eigentlich heißt heightunits.shown) und
* "rnd()" is an undefined function (the proper function name is "round()").  
* „rnd()“ ist eine undefinierte Funktion (der richtige Funktionsname ist „round()).  


In both cases, the errors are located within a red box to make it easier to spot and fix them.
In beiden Fällen werden die Fehler in einem roten Kästchen angezeigt, um das Erkennen und Beheben zu erleichtern.




Line 155: Line 151:




You can also see that you can quickly create complex reports, such as a table of entered values or tailored advice.
Sie sehen auch, dass Sie schnell komplexe Berichte erstellen können, beispielsweise eine Tabelle mit eingegebenen Werten oder maßgeschneiderte Ratschläge.


Please remember that all tailoring must surround expressions with curly braces so that LimeSurvey knows which parts of the question are free text and which should be parsed by the ExpressionScript engine.
Bitte denken Sie daran, dass alle Anpassungen Ausdrücke mit geschweiften Klammern umgeben müssen, damit LimeSurvey weiß, welche Teile der Frage Freitext sind und welche von der ExpressionScript-Engine analysiert werden sollen.




==Validation==
==Validierung==




ES controls how most of the advanced question options work. These control aspects like min/max numbers of answers, min/max individual values, min/max sum values, and checking that entered values match specified string patterns. Any value in one of those fields is considered an expression, so you can have min/max criteria with complex conditional relationships to other questions.
ES steuert, wie die meisten erweiterten Frageoptionen funktionieren. Diese steuern Aspekte wie die minimale/maximale Anzahl von Antworten, die minimalen/maximalen Einzelwerte, die minimalen/maximalen Summenwerte und die Überprüfung, ob eingegebene Werte mit bestimmten Zeichenfolgenmustern übereinstimmen. Jeder Wert in einem dieser Felder wird als Ausdruck betrachtet, sodass Sie Min/Max-Kriterien mit komplexen bedingten Beziehungen zu anderen Fragen haben können.


In all of these cases, since the advanced question attribute is always considered an expression, you do not use curly braces when specifying it.
Da das erweiterte Frageattribut in all diesen Fällen immer als Ausdruck betrachtet wird, verwenden Sie bei der Angabe keine geschweiften Klammern.


The [[ExpressionScript sample surveys|sample surveys]] page shows many working examples containing a variety of validation expressions.
Die Seite [[ExpressionScript-Beispielumfragen|Beispielumfragen]] zeigt viele Arbeitsbeispiele mit verschiedenen Validierungsausdrücken.


=ExpressionScript - presentation=
=ExpressionScript - Präsentation=




To find out more about ExpressionScript and how you can use different expressions to enhance your survey, please click on the following [https://manual.limesurvey.org/ExpressionScript_-_Presentation link].
Um mehr über ExpressionScript zu erfahren und wie Sie verschiedene Ausdrücke zur Verbesserung Ihrer Umfrage verwenden können, klicken Sie bitte auf den folgenden Link [https://manual.limesurvey.org/ExpressionScript_-_Presentation].

Latest revision as of 09:37, 12 March 2024


Kurzanleitung

In LimeSurvey können Sie Ihre Umfragen über die Verwendung von ExpressionScript (kurz: ES) weiter anpassen. Sidenote: "ExpressionScript wurde in früheren Versionen Expression Manager (EM) genannt. Wenn Sie Expression Manager irgendwo lesen, ist es nur der alte Name von ES."

Mit ES kann Folgendes angegeben werden:

  1. Navigation/Verzweigung - ermöglicht es den Antworten eines Befragten, die Reihenfolge zu ändern, in der die Fragen angezeigt werden;
  2. Tailoring/Piping - hilft Ihnen bei der Formulierung der Frage (z. B. Bezugnahme auf frühere Antworten oder Konjugation von Sätzen auf der Grundlage des Alters oder Geschlechts Ihrer Probanden) oder bei der Erstellung benutzerdefinierter Berichte (z. B. Bewertungsergebnisse oder maßgeschneiderte Ratschläge);
  3. Validierung - stellt sicher, dass die Antworten bestimmte Kriterien erfüllen, wie Min- und Max-Werte oder ein bestimmtes Eingabemuster.

ES bietet eine intuitive Möglichkeit, die Logik für jede dieser Funktionen anzugeben. Fast alles, was Sie als mathematische Standardgleichung schreiben können, ist ein gültiger Ausdruck.

ES bietet derzeit Zugriff auf 70 Funktionen und kann problemlos erweitert werden, um weitere zu unterstützen. Außerdem können Sie damit auf Ihre Variablen zugreifen, indem Sie für Menschen lesbare Variablennamen verwenden (anstelle von SGQA-Namen).

Die nächsten Abschnitte zeigen die wichtigsten Einsatzorte des ES.


Relevanz (Steuerung der Navigation/Verzweigung)

Einige Umfragen verwenden die „Gehe zu-Logik“, sodass Sie zu Frage 5 weitergeleitet werden, wenn Sie Frage 1 mit Option C beantworten. Dieser Ansatz ist sehr begrenzt, da er schwer zu validieren ist. Außerdem geht es leicht kaputt, wenn Sie Fragen neu anordnen müssen. Andererseits verwendet ES Boolesche Relevanzgleichungen, um alle Bedingungen anzugeben, unter denen eine Frage gültig sein könnte. Wenn die Frage relevant ist, wird die Frage angezeigt, andernfalls ist sie nicht anwendbar und der Wert „NULL“ wird in der Datenbank gespeichert.

Hinweis: Dies ähnelt dem, was über den Bedingungseditor erfolgen kann, mit ES können Sie jedoch ganz einfach viel komplexere und leistungsfähigere Kriterien angeben (und den Variablennamen anstelle von SGQA-Kennungen verwenden).




Um das Relevanzkonzept besser zu verstehen, konzentrieren wir uns auf die folgende Umfrage, die den Body-Mass-Index (BMI) der Umfrageteilnehmer berechnet. Um es herunterzuladen, klicken Sie auf den folgenden Link: Beispiel für eine Body-Mass-Index-Umfrage.

Die Relevanzgleichung wird unten in der Spalte „Relevanz“ nach dem Variablennamen angezeigt. Die Relevanzwerte von „weight“, „weight_units“, „height“ und „height_units“ sind alle 1 (Standardwert), was bedeutet, dass diese Fragen immer angezeigt werden. Die Relevanz für den BMI beträgt jedoch {!is_empty(height) und !is_empty(weight)}, was bedeutet, dass der BMI nur berechnet wird, wenn der Proband einen Wert sowohl für Größe als auch für Gewicht eingibt (wodurch das Risiko eines Nullfehlers vermieden wird). Außerdem wird die Frage „Bericht“ nur angezeigt, wenn der Befragte alle vier Hauptfragen (Größe, Höheneinheiten, Gewicht, Gewichtseinheiten) beantwortet.



Hinweis: Das obige Bild stammt aus der Umfragelogikdatei, mit der Sie vor der Aktivierung der Umfrage nach Syntaxfehlern suchen können.


Die Relevanz wird angezeigt und kann bearbeitet werden, wenn:

  • Sie die Relevanz auf Fragenebene anzeigen/bearbeiten möchten
  • Sie die Relevanz auf Gruppenebene anzeigen/bearbeiten möchten


Anzeigen/Bearbeiten der Relevanz auf Fragenebene

Diese Gleichung berechnet den Body-Mass-Index (BMI). Es wird nur abgefragt, ob die Person ihre Größe und ihr Gewicht eingibt.



Dies ist der Bearbeitungsbildschirm für die Frage „BMI“.



Beachten Sie, dass Sie bei der Eingabe einer Relevanzgleichung keine geschweiften Klammern verwenden.


Anzeigen/Bearbeiten der Gruppenebenenrelevanz

Konzentrieren wir uns nun auf ein anderes Beispiel – eine einfache Volkszählungsumfrage. Um es herunterzuladen, klicken Sie auf den folgenden Link: Beispiel für eine Volkszählungsumfrage.

Auf der ersten Seite wird abgefragt, wie viele Personen bei Ihnen wohnen, und dies wird in der Variable „cohabs“ gespeichert. Diese Seite wird nur angezeigt, wenn Sie mehr als einen Mitbewohner haben (sie wird für die zweite Person angezeigt, die mit Ihnen zusammenlebt). Außerdem werden p2name, p2age und p2sum nur dann angezeigt, wenn die Frage vor jeder dieser Fragen eine Antwort enthält.



Daher verfügt die Gruppe auch über Relevanzkriterien auf Fragenebene, sodass einige Fragen nur angezeigt werden, wenn Sie zuvor bestimmte Fragen beantwortet haben (z. B. wird p2age angezeigt, wenn p2name beantwortet wurde). ES vereint für Sie die Relevanz auf Gruppen- und Frageebene. „Fragen in einer Gruppe werden nur gestellt, wenn die Gruppe als Ganzes relevant ist.“ Dann wird nur die Teilmenge der Fragen innerhalb der Gruppe gestellt, die relevant sind.“

Hier ist der Screenshot zum Bearbeiten der Gruppenebenenrelevanz von „Cohabitant 2“:



Beachten Sie, dass Sie bei der Eingabe einer Relevanzgleichung keine geschweiften Klammern verwenden.

Tailoring/Piping

Mit EM können Sie einfach und komplex das bedingte Anpassen Ihrer Fragen durchführen. Manchmal brauchen Sie nur eine einfache Ersetzung, zum Beispiel: "Sie haben angegeben, dass Sie [Produkt] gekauft haben. Was hat Ihnen am besten gefallen?" Manchmal brauchen Sie eine bedingte Ersetzung wie "[Herr/Frau] [NachName], wären Sie bereit, unsere Umfrage auszufüllen? ". In diesem Fall möchten Sie Herrn oder Frau basierend auf dem Geschlecht der Person verwenden. In anderen Fällen benötigen Sie eine noch komplexere Substitution (zum Beispiel basierend auf einer mathematischen Berechnung). EM unterstützt jede dieser Arten von Anpassung/Ersetzung.


Bedingungsgleichungen

Das Beispiel des Body-Mass-Index zeigt die Möglichkeit, den BMI einer Person zu berechnen, auch wenn sie ihre Größe und ihr Gewicht in zwei verschiedenen Einheiten (cm vs. Inches und kg vs. lbs) eingeben kann:



In diesem Fall ist Gewicht kg {if(weightunits == "kg", Gewicht, Gewicht * 0,453592)}. Diese „if()“-Funktion bedeutet, dass, wenn der Proband das Gewicht in Kilogramm eingibt, dieser Wert verwendet wird, und andernfalls wird der eingegebene Wert (Pfund ist die Alternative) mit 0,453592 multipliziert, um ihn in Kilogramm umzurechnen. Die Variable heightm verwendet einen ähnlichen Ansatz, um die Größe der Person in Metern (Größe in cm/100) zu berechnen, auch wenn sie ihre Größe in Zoll (1 Meter = 3,28084 Zoll) eingegeben hat.

Der BMI wird wie folgt berechnet: {Gewichtkg / (Höhem * Körpergrößem)}.

Schließlich passt der Bericht die Nachricht bedingt an den Betreffenden an, indem er ihm mitteilt, was er eingegeben hat. (z. B. "Sie haben angegeben, dass Sie 2 m groß sind und 70 kg wiegen").

Im folgenden Bild verwendet Weightstatus verschachtelte „if()“-Anweisungen, um die Person als untergewichtig bis stark fettleibig zu kategorisieren. Sie können die Gleichung sehen, indem Sie ihre Logik überprüfen:



Im Bearbeitungsfenster für diese Frage können Sie zwei Dinge sehen:

  1. Tailoring muss Ausdrücke mit geschweiften Klammern umgeben
  2. Ausdrücke können sich über mehrere Zeilen erstrecken, wenn Sie, wie in diesem Fall, die verschachtelte bedingte Logik leichter lesbar machen wollen.



Maßgeschneiderte Fragen, Antworten und Berichte

Hinweis: Die dynamische Anpassung funktioniert möglicherweise nicht, wenn Antwortoptionen in Auswahlfeldern auf derselben Fragenseite verfügbar gemacht werden. Dies ist darauf zurückzuführen, dass das Tailoring einen <span>-Tag einfügt, der innerhalb von Auswahloptionen nicht zulässig ist.

Der BMI-Bericht sieht so aus:



Hier ist das Bearbeitungsfenster für dieselbe Frage.



Alles in geschweiften Klammern wird als Ausdruck behandelt und im vorherigen Bild syntaktisch hervorgehoben (farblich gekennzeichnet). Wenn Sie Tippfehler haben (z. B. falsch geschriebene oder undefinierte Variablennamen oder Funktionen), zeigt ES einen Fehler an. In unserem folgenden Beispiel:

  • heightunit.shown ist ein undefinierter Variablenname (eigentlich heißt heightunits.shown) und
  • „rnd()“ ist eine undefinierte Funktion (der richtige Funktionsname ist „round()“).

In beiden Fällen werden die Fehler in einem roten Kästchen angezeigt, um das Erkennen und Beheben zu erleichtern.



Sie sehen auch, dass Sie schnell komplexe Berichte erstellen können, beispielsweise eine Tabelle mit eingegebenen Werten oder maßgeschneiderte Ratschläge.

Bitte denken Sie daran, dass alle Anpassungen Ausdrücke mit geschweiften Klammern umgeben müssen, damit LimeSurvey weiß, welche Teile der Frage Freitext sind und welche von der ExpressionScript-Engine analysiert werden sollen.


Validierung

ES steuert, wie die meisten erweiterten Frageoptionen funktionieren. Diese steuern Aspekte wie die minimale/maximale Anzahl von Antworten, die minimalen/maximalen Einzelwerte, die minimalen/maximalen Summenwerte und die Überprüfung, ob eingegebene Werte mit bestimmten Zeichenfolgenmustern übereinstimmen. Jeder Wert in einem dieser Felder wird als Ausdruck betrachtet, sodass Sie Min/Max-Kriterien mit komplexen bedingten Beziehungen zu anderen Fragen haben können.

Da das erweiterte Frageattribut in all diesen Fällen immer als Ausdruck betrachtet wird, verwenden Sie bei der Angabe keine geschweiften Klammern.

Die Seite Beispielumfragen zeigt viele Arbeitsbeispiele mit verschiedenen Validierungsausdrücken.

ExpressionScript - Präsentation

Um mehr über ExpressionScript zu erfahren und wie Sie verschiedene Ausdrücke zur Verbesserung Ihrer Umfrage verwenden können, klicken Sie bitte auf den folgenden Link [1].