Zet condities
From LimeSurvey Manual
Overzicht van condities
LimeSurvey heeft een krachtige functie voor navigatie. Klik op de knop Zet condities - - in de taakbalk van de vraag.
Hier beschrijven we:
- welke condities er zijn
- wat kun je wel/niet met condities
- welke stappen je moet leren kennen om simpele of moeilijke condities te maken.
Er is een video en er is een voorbeeld enquête met condities: download voorbeeld.
Verbergen/tonen of springen
Je kunt logische vertakkingen maken met LimeSurvey, daarmee bedoelen wij dat je kunt besluiten dat je een vraag alleen wilt tonen als er aan een conditie is voldaan. (Toon vraag X als vraag Y was beantwoord met Z.)
De keuze is Verbergen of Tonen:
- je kunt een of meer conditie(s) definiëren bij een of meer vragen in je enquête: als aan de conditie wordt voldaan, dan wordt de vraag getoond.
Eenvoudig gezegd:
- een vraag zonder conditie wordt altijd getoond.
- een vraag met een conditie wordt alleen getoond als aan de conditie voldaan is.
Deze aanpak is anders dan het Springen dat soms bij andere software gehanteerd wordt. Bij deze aanpak wordt als actie op een conditie waaraan voldaan wordt, gesprongen naar een andere vraag (dat is ook een vorm van het verbergen van tussenliggende vragen). LimeSurvey doet het dus anders, hierbij moet je dan bij die vragen dezelfde conditie zetten als je ze niet wilt tonen. Als je bijvoorbeeld bij vraag 2 de conditie wilt stellen, spring naar vraag 5, als het antwoord op vraag 1 'Ja' is", dan moet je dus:
- op de vragen 2, 3 en 4 de conditie zetten, alleen tonen als "het antwoord op vraag1 NIET 'Ja' is".
Je kunt in LimeSurvey een conditie gemakkelijk op meerdere vragen zetten door een conditie te kopiëren van een vraag naar andere vragen. In het voorbeeld hierboven zet je dus de conditie op vraag2, en op hetzelfde scherm kun je die conditie kopiëren naar vraag3 en vraag4.
Ondersteunde conditie-types
Een conditie vergelijkt waarden, het resultaat is true of false.
Waarden die vergeleken kunnen worden zijn antwoorden op vorige vragen. Voorbeeld: "Als je als deelnemer 'Ja' antwoordt op vraag1", dan wordt vraag2 in de enquête getoond:
Het is belangrijk om te begrijpen wat er wordt verstaan onder een geschikte vraag-entry voor de conditie-editor.
Een vraag-entry (of vraag) is of:
- een simpele vraag (voor alle vraagtypes uitgezonderd array-vragen)
- voorbeeld: tekstvragen, radioknoppen, selectielijsten en ook meerkeuzevragen
- of een rij in een Array-vraag (niet Array Dubbele schaal en Array (getallen) en Array (teksten)),
- voorbeeld: Array (5 punten)
- of het linkerdeel / rechterdeel van een Array Dubbele schaal
- of elke cel van een Array
- constante waarden
- voorbeeld: "Als je hebt meer dan 18 jaar hebt geantwoord op de onderstaande vraag"
- Deelnemersgegevens: om deze gegevens te kunnen gebruiken moet de optie "Anonieme respons?" op Nee staan. Deze optie staat op de tab Instellingen van de deelnemer.
Verschillende operatoren voor vergelijking worden ondersteund:
- De basisvormen zijn gelijk en ongelijk.
- Ook groter/kleiner dan zijn beschikbaar, deze worden meestal alleen gebruikt bij numerieke vragen.
- Bij numerieke vergelijkingen is 2 < 10.
- Als een vraagtype tekst is, dan wordt de vergelijking "2" > "10" (tekstvolgorde)!
- Numerieke en tekstvragen (als het 'Uitsluitend getallen' attribuut bij de vraag is gezet), zal de numerieke volgorde van vergelijkingen worden gebruikt.
- Een geavanceerde vergelijkingsoperator met gebruik van reguliere expressies. (als je niet weet wat het is, heb je het vermoedelijk niet nodig).
- het patroon is not tussen '/' tekens.
- voorbeeld [a-zA-Z]$
Combineren van condities
Je kunt complexe conditions maken door condities te combineren met AND en OR logische operators.
Het is van belang te begrijpen dat LimeSurvey automatisch bepaald welke logische operator gebruikt moet worden: het gebruik van OR of AND operators wordt bepaald volgens de context van de conditie. In dit voorbeeld is er maar een scenario. LimeSurvey maakt gebruik van Booleaanse algebra, dat betekent dat operator or het eerste wordt verwerkt.
We beginnen met elementaire condities, later gaan we het gebruik van een scenario bespreken.
De conditie-editor
Selecteer eerst de vraag waaraan je een conditie wilt toevoegen, daarna kun je naar de vraagtaakbalk gaan:
Klik op de knop Zet condities in de vraagtaakbalk:
De volgende pagina wordt getoond:
Het scherm om de condities te beheren bestaat uit:
- de taakbalk van de conditie-editor
- een overzicht met de huidige condities
- toevoegen/bewerken conditie
Taakbalk van de conditie-editor
In de taakbalk kunnen de volgende opties staan:
- Toon condities van deze vraag: Klik op deze knop om een overzicht te krijgen van de bestaande condities bij deze vraag.
- Voeg conditie toe en pas aan: de standaardstartpagina bij het klikken op de knop Zet condities. De delen zijn: 1 - een tabel met daarin de bestaande condities en scenario's en 2 - het menu toevoegen/bewerken condities.
- Kopieer condities: Soms wil je dezelfde condities bij meerdere vragen gebruiken om questionY aan het eind getoond te krijgen. Klik dan op de knop Kopieer condities. Op een nieuwe scherm worden de bestaande condities toegevoegd aan de vraag (die noemen we hier even question3). Als je ze wilt toevoegen aan question5, selecteer dan de gewenste condities die je wilt kopiëren, selecteer question5, en klik op de de knop Kopieer condities onderaan links. Meer informatie.
- Bewaar en sluit: De knop om je wijzigingen op te slaan.
- Ga naar vraag: Je kunt in de conditie-editor blijven als je bij nog een andere vraag iets aan een conditie wilt aanpassen. Selecteer dan de vraag die je wilt wijzigen uit de dropdownlijst.
- Sluiten: Als je het scherm wilt sluiten zonder een wijziging op te slaan dan kun je deze knop Sluiten rechtsboven gebruiken of een keuze maken in de tabs Instellingen/Structuur
Overzicht met bestaande condities
Hier worden de bestaande scenario's en condities van een vraag getoond. Je kunt hier een aantal acties uitvoeren:
- In het bovenste deel staan rechts de acties:
- Sneltoevoeg-condities : snel condities toevoegen (Meer informatie)
- Scenario's opnieuw nummeren : Hiermee kun je de scenario's opnieuw nummeren, beginnend vanaf 1. Deze optie wordt alleen getoond als er meer dan 1 scenario is bij de vraag.
- Verwijderen alle condities : Om in een keer alle scenario's en condities bij deze vraag te verwijderen.
- Naast het ID van een scenario staan knoppen voor de volgende acties:
- Verwijderen scenario
- Wijzig scenarionummer
- Voeg conditie toe aan scenario
- Per conditie zijn de mogelijke acties:
- Verwijderen conditie
- Bewerk conditie : bewerk de conditie in het conditie menu
Toevoegen/bewerken conditie
Het onderste gedeelte van het scherm wordt gebruikt voor het toevoegen en bewerken van condities:
Om uit te leggen hoe condities werken in LimeSurvey beginnen we met de elementaire condities.
Definitie van elementaire conditie
Een elementaire conditie is een enkele conditie zonder een logische operator (OR, AND).
Het bestaat uit een:
- een linker operand: de te testen waarde. Je kunt het type te testen waarde selecteren door een tab te selecteren. Dit kan een voorafgaande vraag zijn of een deelnemers attribuut.
Als je op de tab Voorgaande vragen een vraag selecteert en deze vraag heeft al gedefinieerde antwoorden dan worden de bijbehorende gedefinieerde antwoorden getoond op de tab Voorgedefinieerd bij de selectie van de vergelijkingsoperator.
- geen anonieme respons gebruikt.
- een deelnemerstabel gebruikt met besloten toegang.
- een vergelijkingsoperator. Je kunt deze waarde kiezen uit een dropdownlijst.
- een rechter operand: de vergelijkingswaarde. Je kunt het type van deze waarde selecteren door een tab te selecteren. Bij het aanmaken van een conditie kun je de vergelijkingswaarde selecteren als een waarde (antwoord), een constante, een vraag, een deelnemersattribuut of een reguliere expressie.
Voorbeeld van een elementaire conditie en het aanmaken
- Toon vraag 'AAMN' als "het antwoord op vraag 'Gender' de voorgedefinieerde waarde 'Male'" is
- te testen waarde = antwoord op vraag 'Gender'
- vergelijkingsoperator = Gelijk aan
- vergelijkingswaarde = de code behorend bij antwoordoptie 'Male'
- Toon vraag ALS "het antwoord op vraag2 groter was dan 5 (numeriek)"
- te testen waarde = antwoord op vraag2
- vergelijkingsoperator = "Groter dan"
- vergelijkingswaarde = de waarde 5
- Toon vraag 'Alcohol' ALS "het antwoord op de vraag 'BirthDate' groter is dan 2000-01-01"
- te testen waarde = antwoord op vraag 'BirthDate'
- vergelijkingsoperator = Groter dan of gelijk aan
- vergelijkingswaarde = '2000-01-01'
- Toon vraag 'Alcohol' als het deelnemers attribuut 'DrinkingHistory' gelijk is aan 'Yes'.
- te testen waarde = de 'DrinkingHistory' waarde uit het token / toegangscode
- vergelijkingsoperator = "Gelijk aan"
- vergelijkingswaarde = de constante 'Yes'
Condities en scenario's in LimeSurvey
Standaard conditie combinaties
Zoals al eerder aangegeven, zal LimeSurvey automatisch op grond van de context beslissen welke logische operator (AND of OR) wordt toegepast tussen condities.
De volgorde waarin je elementaire condities definieert is niet van belang, want LimeSurvey zal automatisch een eigen volgorde kiezen.
We bekijken het in detail. Denk aan de twee regels:
- Regel 1: Condities met dezelfde te testen waarde worden met OR samengevoegd.
- Regel 2: Condities met verschillende te testen waarden worden met AND samengevoegd.
Eerste regel: condities met dezelfde te testen waarde worden met OR samengevoegd
Als je meerdere condities hebt, dan worden ze met OR samengevoegd als ze dezelfde te testen waarde hebben. In het voorbeeld: meerdere mogelijke antwoorden op dezelfde voorafgaande vraag: "Als antwoord op vraag 'FavColour' is 'groen' OR antwoord op vraag 'FavColour' is 'rood' OR antwoord op vraag 'FavColour' is 'blauw'", dan wordt de vraag 'BirthDate' getoond aan de deelnemer:
Tweede regel: condities met verschillende te testen waarden worden met AND samengevoegd
Als je meerdere condities hebt dan worden ze met AND samengevoegd als ze niet dezelfde te testen waarde hebben. Bijvoorbeeld: meerdere condities met verschillende vragen: "ALS antwoord op vraag 'Alcohol' is 'Y' AND "antwoord op vraag 'Gender' is 'F'", dan wordt de vraag 'Alcoholconsumption' getoond als de deelnemer:
Meerkeuze vragen
Bij de vraagtypes Meerkeuzevragen (met/zonder opmerking) komen in het deel te testen waarde in de condities editor twee mogelijkheden voor:
- een Groep checkboxen waarbij je condities kunt maken op alle mogelijke antwoorden van de vraag.
- een groep van enkele checkbox waarbij je conditie(s) kunt zetten op elke checkbox.
De mogelijkheden toegelicht
Wat is nu het verschil tussen deze twee mogelijkheden? Stel: we willen een vraag met een puntskeuze stellen als de deelnemer minstens een bepaald antwoord bij de vraag 'MultipleOrganizations' heeft geselecteerd.
Zoals hierboven aangegeven is het met de groep checkboxen mogelijk om condities te zetten op alle mogelijke antwoorden van de vraag. Daarom worden alleen de opties geselecteerd die mogelijke antwoorden zijn als vergelijkingswaarde:
We zien nu dat de condities met OR worden gecombineerd door de eerder ingestelde mogelijkheid Groep met checkboxen:
AND in condities bij meerkeuzevragen
Nu nemen we een ander maar een vergelijkbaar voorbeeld. We willen nu de meest actieve leden nog wat aanvullende vragen stellen. Hierbij maken we gebruik van de groep van een enkele checkbox waarmee je een conditie kunt zetten op grond van elke afzonderlijke checkbox.
Vraag X wordt alleen getoond als A en B zijn aangevinkt:
Je ziet nu dat de condities met AND worden samengevoegd.
Dat betekent dat de vraag niet wordt getoond, behalve als beide voorwaarden (de geselecteerde subvragen) waar zijn.
Gebruik OR condities tussen verschillende vragen: gebruik van scenario
Je kunt zeggen dat je soms met OR condities wilt samenvoegen, zelfs als ze gezet zijn op verschillende vragen (dus op verschillende te testen waarden). Daarvoor gebruiken we een scenario.
Definitie van een scenario
Een scenario is een handmatige groepering van condities waarin condities onafhankelijk van condities in andere scenario's worden geëvalueerd. Het resultaat van de meerdere scenario's is dat het voldoet als er maar een scenario voldoet. Met andere woorden: een scenario is een logische groepering van condities, volgens de bovenstaande regels, en die met OR worden samengevoegd om complexe condities te maken.
Alles wat hierboven hebben beschreven is geldend voor condities in elk scenario, standaard worden alle nieuwe condities aangemaakt binnen het "Standaard scenario" (identifier is '1'). Als je de conditie aan een ander scenario wilt toevoegen moet je het nummertje aanpassen.
Een vraag toevoegen aan een ander scenario
Als je een conditie heb aangemaakt of gewijzigd, dan kun je het bijbehorende scenario bepalen door te klikken op de knop Voeg scenario toe:
Het standaardscenario gebruikt als identifier '1'. Als je een conditie aan een ander scenario wilt toevoegen dan moet je dus een ander nummer voor het scenario invullen.
Het nummer van een scenario is niet van belang, de nummers hoeven niet opeenvolgend te zijn.
Je kunt het nummer van het scenario wijzigen door te klikken op het icoon en dan het nummer van het scenario te wijzigen.
- te beslissen in welke volgorde de scenario's worden getoond bij de afgedrukte versie van de enquête
- samenvoegen van condities van twee scenario's (om scenario 10 samen te voegen met scenario 1, hoef je alleen het nummer van scenario 10 te wijzigen in 1).
Voorbeeld: aanmaken van drie scenario's
Om drie scenario's aan te maken heb je minstens drie condities nodig, die je dan elk aan één scenario kunt koppelen. De scenario's worden dan met een 'OR' aan elkaar gekoppeld. Het ziet er dan ongeveer als volgt uit:
AND en OR in hetzelfde scenario
Het uiteindelijke scenario kan zowel AND als OR bevatten:
LimeSurvey past eerst de OR toe. Meer informatie over Booleaanse algebra.
De volgorde van de bewerkingen kan ook worden bekeken in het veld relevantievergelijking. Hieronder staat de deze waarde uit het voorbeeld gemarkeerd.
Zoals je ziet worden er automatisch haakjes toegevoegd bij de OR om de volgorde van verwerking af te dwingen.
Kopiëren conditie
Met de functie kopiëren kun je een set van condities van bijvoorbeeld vraag5 kopiëren naar vraag10, als je daar dezelfde condities wilt gebruiken. Je hoeft ze dan dus niet een voor een opnieuw aan te maken.
Je moet dan eerst de vraag selecteren waar de condities die je wilt kopiëren staan (in het voorbeeld vraag 'LowQ'). Selecteer daarna de te kopiëren condities en de vraag waaraan je ze wilt toevoegen (in het voorbeeld vraag 'Alcohol').
Let er op hoe dit kopiëren werkt als je er gebruik van wilt maken bij meerdere scenario's op een andere vraag die hetzelfde of een andere ID gebruikt voor het scenario. Bekijk het voorbeeld waarin we de mogelijke valkuilen aangeven.
- je wilt Scenario 1 - Conditie A, Scenario 1 - Conditie B, Scenario 7 - Conditie C en Scenario 7 - Condition D van vraag QuestionX kopiëren naar vraag QuestionY
- Vraag QuestionY bevat al Scenario 1 - Conditie A, Scenario - Conditie C, Scenario 6 - Conditie E en Scenario 8- Conditie F.
- Na het kopiëren zijn er de volgende condities bij vraag QuestionY:
- Scenario 1: Conditie A, Conditie B, Conditie C -> Conditie A is niet gekopieerd omdat het al bestaat in vraag QuestionY, conditie B wordt wel gekopieerd.
- Scenario 6: Conditie E -> blijft zo
- Scenario 7: Conditie C, Conditie D -> er is een nieuw scenario aangemaakt met de twee condities
- Scenario 8: Conditie F -> blijft zo
Reset condities
Als je snel de condities van een enquête wilt resetten, klik dan op een enquêtegerelateerde instelling, zoek naar Hulpmiddelen op de taakbalk en klik op Condities resetten.
Bevestig vervolgens het verwijderen van de condities.
Aandachtspunten
Algemene overwegingen
Er zijn een paar basisregels waar je aan moet denken bij het toevoegen van een conditie aan een vraag:
- Als je een conditie toevoegt, dan wordt die vraag alleen getoond als de conditie opgaat.
- Je kunt alleen een conditie zetten op grond van het antwoord van een eerdere vraag.
- Als je eerst de condities opvoert en daarna de volgorde van de vragen aanpast, krijg je van LimeSurvey geen waarschuwing als er door de wijziging van de volgorde een probleem is met een conditie. Stel dus eerst de vraagvolgorde (en groepsvolgorde) vast voordat je condities toevoegt.
- Je kunt condities ook na het actief maken van de enquête nog wijzigen. Omdat er geen controle op het consistent zijn, is, moet je hier dus heel voorzichtig mee zijn.
Condities met voorgedefinieerd antwoord 'Geen antwoord'
Het toevoegen van een conditie "Toon vraag 'FavColour' als antwoord op vraag 'Geslacht' is 'Geen antwoord'" betekent "toon vraag 'FavColour' als vraag 'Geslacht' is getoond en er geen antwoord is ingevuld".
Gekoppelde condities
Als je condities toevoegt aan een vraag die al condities heeft, dan kan er soms een onverwacht effect optreden. Een mogelijk effect is dat je alle vragen in een groep verbergt met gekoppelde condities, maar dat de kop van de groep wordt getoond, totdat je de condities aanpast zoals hieronder aangegeven.
In het bovenstaande voorbeeld wordt de vraag 'Alcohol' getoond als de deelnemer eerder de vraag 'AANM' heeft beantwoord met 'No'. De vraag 'AANM' hoeft niet gesteld te zijn als bij een eerdere vraag 'Gender' niet 'Male' is gekozen. In dit scenario wordt de vraag 'Alcohol' niet getoond.
Om de vraag 'Alcohol' te tonen moet je de condities van eerdere vragen kopiëren aan de vraag die je bewerkt. De condities worden dan:
- Toon 'AAMN' als het antwoord op 'Gender' is 'Male (M)'
- Toon 'Alcohol' als het antwoord op 'Gender' is 'Male (M)' en het antwoord op 'AAMN' is No (N)'.
De condities voor 'Alcohol':
Als je een gecompliceerde enquête ontwerpt met veel condities, zorg er dan voor dat je de enquête test met alle combinaties van invoer die je kunt bedenken.
Beperkingen en oplossingen
Voortgangsaanduiding
Als je een enquête hebt met veel vragen die overgeslagen worden vanwege de condities, dan is de "voortgangsbalk" iets wat minder zegt, er kan plotseling een grote stap gedaan worden of het einde is niet bij 100%.
Om dit te voorkomen zou je de vragen die mogelijk worden overgeslagen, kunnen proberen te plaatsen binnen vragen die altijd worden getoond.
Voorbeeld: vraag1 is een Ja/Nee vraag. Vraag2A tot vraag15A worden getoond als het antwoord op vraag1 Ja is. Vraag2B tot vraag15B worden getoond als het antwoord op vraag1 Nee is.
Als je de vragen nu in de groep in de volgorde zet van : 2A, 2B, 3A, 3B, enz., dan krijg je een mooie voortgang. Bij een volgorde van 2A, 3A, [...], 2B, 3B, ... krijg je een voortgang van van 0 tot 50% of van 50% tot 100%, afhankelijk van het antwoord op vraag1.
Een constante vergelijkingswaarde voor vraagtype Datum
Als je een constante vergelijkingswaarde invult, dan moet je de interne representatie gebruiken van datums (die is: YYYY-MM-DD).
Condities met "Andere" opties in meerkeuzevragen
Bij meerkeuzevragen kun je de keuze "Andere" als een goede keuze zien maar je kunt er geen conditie opzetten. Voorbeeldvraag: "Wat is je lievelingskleur?" Antwoord checkboxen zijn : Blauw, Zwart en Andere. Als de respondent Blauw kiest, dan kun je een conditie zetten. Dat kan ook bij Zwart. Maar niet bij Andere, dan typt de respondent een tekst in, waar je geen conditie op kunt zetten. LimeSurvey ziet dit niet als een fout, maar als een beperking.
Er is geen echt veld vastgelegd voor de checkbox 'Andere' voor dit vraagtype. De enige manier om te weten of de respondent "Andere" heeft gekozen, is het testen of het invoerveld behorend bij "Andere" ingevuld is.
Vanwege de manier waarop we meerkeuzevragen afhandelen is het testen op deze invoerwaarde nooit geïmplementeerd.
Als oplossing kun je zelf een "Anders" antwoord definiëren en niet de ingebouwde "Andere" optie van deze vraagtypes gebruiken. Voeg daarna dan een kort vrije tekst vraagtype toe, met een conditie als de keuze "Anders" is gemaakt.
Hoe kun je haakjes gebruiken in boolean expressies?
Helaas, dan kan niet!
Als je dit, bijvoorbeeld, wilt doen:
(conditie1 OR conditie2) AND (conditie3 OR conditie4)
dan moet je er dit van maken:
(conditie1 AND conditie3) OR
(conditie1 AND conditie4) OR
(conditie2 AND conditie3) OR
(conditie2 AND conditie4)