Actions

Setting conditions/da: Difference between revisions

From LimeSurvey Manual

(Created page with "Imidlertid. rækkefølgen af operationer kan også observeres i feltet Relevansligning. For ovenstående eksempel er relevansligningen fremhævet nedenfor:")
(Created page with "<center>Fil:AND vs OR relevance eq.png</center>")
Line 439: Line 439:




As it can be observed, a set of extra parentheses is added for the OR logical operations in order to let the software know that it must be "computed" first.
Som det kan ses, tilføjes et sæt ekstra parenteser til de logiske OR-operationer for at lade softwaren vide, at den skal "beregnes" først.





Revision as of 11:18, 29 December 2023


Oversigt over betingelser i LimeSurvey

LimeSurvey har en meget kraftfuld logisk forgreningsfunktion. Den kan tilgås ved at klikke på Indstil betingelser-knappen - - placeret på hver spørgsmålslinje.

I dette kapitel vil vi beskrive:

  • hvilke betingelser du kan finde i LimeSurvey
  • hvad du kan og ikke kan med betingelser
  • hvilke trin du skal lære for at opsætte simple eller mere komplekse betingelser

For trinvise videoinstruktioner, tjek denne tutorial eller download tilstandsprøveundersøgelsen: LimeSurvey_Survey_Setting_Conditions.zip.


 Hint: Betingelsesfunktionaliteterne fungerer som en GUI for udtryk og ligninger, der kan anvendes på spørgsmål, hvilket giver brugerne mulighed for nemt at øge kompleksiteten af deres undersøgelser uden at komme ind på udtryk og relevans ligninger. Imidlertid skal The ExpressionScript studeres/kendes for at øge rækken af muligheder, der er tilgængelige i LimeSurvey.


Skjul/vis forgrening versus springforgrening

Du kan designe logisk forgrening med LimeSurvey, hvilket betyder, at du kan beslutte, at nogle spørgsmål kun vil blive vist, hvis nogle betingelser er opfyldt som "Vis spørgsmål X, hvis svaret på spørgsmål Y var Z".

Vores tilgang er at implementere en Skjul/Vis forgreningslogik:

  • du kan definere en betingelse eller et sæt betingelser for hvert spørgsmål i din undersøgelse - hvis betingelsen er opfyldt, vil spørgsmålet være derefter vises:


Fil:simple-condition-on-yes-question.png


Kort sagt:
  • et spørgsmål uden en betingelse defineret på det vil altid blive vist;
  • et spørgsmål med en betingelse defineret på det vil ikke blive vist, medmindre betingelsen er opfyldt .

Denne tilgang er forskellig fra Jump Branching Logic, der nogle gange implementeres af anden software. I Jump Branching Logic ville den resulterende handling af en opfyldt betingelse være at hoppe til et andet spørgsmål (det vil sige at skjule alle spørgsmål derimellem). LimeSurvey implementerer ikke denne Jump Branching Logic-metode. Hvis du i stedet ønsker at springe over en række spørgsmål, skal du blot sætte den samme betingelse på alle de spørgsmål, du ikke ønsker skal vises. Hvis f.eks. springbetingelsen, du vil indstille på Spørgsmål2, er "Hop til Spørgsmål5, hvis svaret på Spørgsmål1 er 'Ja'", kan du ganske enkelt:

  • sætte en betingelse for spørgsmål 2, 3 og 4 til kun at blive vist "hvis svaret på spørgsmål 1 var IKKE 'Ja'"

LimeSurvey gør det nemt at sætte den samme betingelse på flere spørgsmål (og dermed implementere Jump Branching Logic) ved at tillade dig at "kopiere" en betingelse fra et spørgsmål til en række andre. I ovenstående eksempel ville du begynde med at indstille betingelsen på Spørgsmål2, og derefter fra samme skærm, ville du kopiere denne betingelse til Spørgsmål3 og Spørgsmål4.

For at finde ud af flere detaljer om, hvordan du kan kopiere betingelser i LimeSurvey, skal du fortsætte med at læse følgende wiki-sektion.


Understøttede typer betingelser

Grundlæggende kan en betingelse sammenligne værdier og returnere enten sand eller falsk.

De værdier, der kan sammenlignes, er svar på tidligere spørgsmål. For eksempel, hvis du svarer "Ja" til Spørgsmål 1, vil Spørgsmål 2 derefter blive vist til undersøgelsens respondent:





På dette tidspunkt er det vigtigt at forstå, hvad der betragtes som en kvalificeret spørgsmålsindgang til tilstandseditoren.

En spørgsmålsindtastning er enten:

  • et simpelt spørgsmål (for alle spørgsmålstyper undtagen Array-spørgsmål)
    • for eksempel: tekstspørgsmål, radio- eller dropdown-lister og endda flere valgmuligheder spørgsmål
  • eller en række i Array-spørgsmål (undtagen Array dual scale og Array multiple fleksibel spørgsmål)
    • for eksempel: array med 5 radioknapper eller array med etiketspørgsmål
  • eller enten den venstre del eller den højre del af et Array dual scale-spørgsmål
  • eller hver celle i et Array-fleksibelt spørgsmål

Template:Bemærk

  • konstante værdier
    • for eksempel: "Hvis du har svaret mere end 18 år på nedenstående spørgsmål"


Fil:simple-condition-on-numerical-question.png


  • Deltageres profildata: For at bruge data fra tabellen med deltagere i undersøgelsen skal "Anonymiserede svar" sættes til NEJ. Denne mulighed kan findes i undersøgelsespanelet deltagerindstillinger.


Fil:simple-condition-on-token.png




Flere sammenligningsoperatorer understøttes - fra de simple "lig med" til det avancerede "regulære udtryk":

  • De grundlæggende refererer til operationerne "lige" og "ikke lig med"
  • Den større/mindre than operatorfamilie er også tilgængelig, og bruges normalt ved brug af numeriske spørgsmålsindtastninger
    • Bemærk venligst, at sammenligninger på numeriske felter gør brug af den numeriske rækkefølge. For eksempel, 2 < 10
    • Hvis du bruger en spørgsmålsindgang, hvis type er tekst, kan betingelsen evalueres som "2" > "10" (strengrækkefølge)!
    • Numeriske spørgsmål, såvel som tekstspørgsmål (når de har attributten 'numbers_only' sat), vil bruge den numeriske rækkefølge til sammenligninger
  • En avanceret sammenligningsoperator, der bruger regulære udtryk, er også tilgængelig (gå ikke i panik! Hvis du ikke ved det hvad det betyder, så behøver du det ikke)
    • mønsteret er ikke for at blive omgivet af '/'-tegn
    • for eksempel: [a-zA -Z]$


Hvordan kan jeg kombinere betingelser?

Du kan bygge komplekse betingelser ved at kombinere simple betingelser med AND og ELLER logiske operatorer.


Fil:simple-conditions-combination.png


Det er dog vigtigt at forstå, at LimeSurvey automatisk bestemmer, hvilken logisk operator der skal anvendes. Dette betyder, at brugen af OR eller AND operatorerne bestemmes i henhold til konteksten af betingelsen. I ovenstående eksempel er der kun ét scenarie. Det betyder, at LimeSurvey gør brug af Boolean algebra, hvilket betyder, at operatoren or "beregnes" først.

Vi vil tale mere om komplekse forhold senere. Lad os først sammen fokusere på de elementære.

Betingelserne designer

Først skal du have adgang til betingelsesdesigner. For at gøre det skal du klikke på det spørgsmål, du ønsker at anvende betingelsen på:



Se nu efter Indstil betingelser-knappen på den øverste spørgsmålslinje:



Når den er tilgået, vil følgende side blive vist:



Betingelsesdesignerpanelet kan opdeles i tre sektioner:


Betingelsesdesignerens værktøjslinje

Du kan muligvis finde følgende muligheder på værktøjslinjen:



  • Vis betingelser for dette spørgsmål: Klik på denne knap for at få et hurtigt overblik over de nuværende eksisterende betingelser, der er anvendt på dit spørgsmål.
  • Tilføj og rediger betingelser: Det repræsenterer standardsiden, der åbnes automatisk, når du klikker på knappen Indstil betingelser. Den er opdelt i to dele: (1) en tabel, der viser alle de eksisterende betingelser og scenarier, og (2) menuen tilføj/rediger betingelser.
  • Kopier betingelser: Nogle gange ønsker du at anvende den samme betingelse på X spørgsmål for at få vist spørgsmålY til sidst. Hertil skal du klikke på Kopier betingelser. Et nyt vindue åbnes, der viser de nuværende eksisterende betingelser tilføjet til dit spørgsmål (lad os kalde det spørgsmål3). For at tilføje dem til spørgsmål 5 skal du markere de ønskede betingelser, du ønsker at blive kopieret, vælge spørgsmål 5 og klikke på knappen Kopier betingelser nederst til venstre i panelet. For yderligere information, fortsæt venligst med at læse følgende wiki-sektion.
  • Gem og luk: Når du er færdig med ændringerne, skal du klikke på Gem og luk for at få dine betingelser gemt.
  • Flyt til spørgsmål: For ikke at forlade vilkårsdesignerpanelet, mens du flytter til et andet spørgsmål, skal du bruge følgende mulighed til at vælge fra rullelisten det næste spørgsmål, du ønsker at anvende betingelser på. Bemærk venligst, at rullelisten viser de spørgsmål, der vises i undersøgelsen før og efter det aktuelle spørgsmål.
  • Luk: Hvis du ønsker at forlade panelet uden at foretage nogen ændringer, kan du enten gå direkte til fanen indstillinger/struktur og vælge den ønskede indstilling eller klikke på Luk, som er placeret øverst til højre på skærmen.


Oversigt over de eksisterende forhold

Dette afsnit viser en tabel, der indeholder alle de eksisterende scenarier og betingelser for et spørgsmål. Visse handlinger kan udføres herfra:



  • I øverste højre del er tre tilgængelige handlinger:
    • Quick-add-betingelser - det gør processen med at tilføje betingelser hurtigere (læs nedenfor for at lære om alle mulighederne )
    • Gennummerer scenarier - hvis der klikkes på dem, vil scenarierne blive omnummereret med trinvise tal begyndende fra et. Bemærk venligst, at denne mulighed kun vises, hvis to eller flere scenarier anvendes på dit spørgsmål.
    • Slet alle betingelser - du kan via denne handling slette alle de nuværende eksisterende betingelser og scenarier, der er anvendt på dit spørgsmål.



  • Udover id-nummeret for hvert scenarie er der tre knapper, der giver dig mulighed for at udføre følgende handlinger:
    • Slet scenario
    • Skift scenarienummer
    • Tilføj betingelse til dette scenarie - klik på dette knappen for at tilføje en anden betingelse til det ønskede scenarie



  • To handlinger kan udføres på hver betingelse:
    • Slet betingelse
    • Rediger betingelse - hvis der klikkes på, vil du være i stand til at redigere betingelsen fra menuen betingelser


Tilføj/Rediger betingelser

Den nederste del af skærmen er tildelt menuen Tilføj/rediger betingelser:



Du kan også redigere betingelsen fra samme sted, hvis du før har trykket på den grønne blyant, der svarer til det spørgsmål, du ønsker at blive redigeret (se betingelser og scenarier).

For at forstå, hvordan vilkårsfunktionen fungerer i LimeSurvey, vil vi først præsentere de elementære betingelser.


Bemærk: I øjeblikket må ikke ændre standardscenariet (), der automatisk vælges i tilstandstillægsskema. Det vil blive dækket senere i denne wiki-sektion.


Definition af elementære betingelser

En elementær betingelse er simpelthen en enkelt betingelse uden nogen ELLER eller OG logiske operatorer.

Den er sammensat af:

  • en venstre operand: den testede værdi. Du kan vælge typen testet værdi ved at vælge den relevante fane i tilstandseditoren. Det kan enten være et tidligere spørgsmål eller en undersøgelsesdeltager-attribut.



Hvis du vælger en spørgsmålspost (fra fanen Tidligere spørgsmål), og hvis dette spørgsmål bruger foruddefinerede svar, vises de tilsvarende foruddefinerede svar under fanen Foruddefineret i valget af sammenligningsværdi .


Bemærk, at for at bruge Token skal din undersøgelse:


  • en sammenligningsoperator. Vælg den sammenligningsoperator du vil anvende fra rullelisten (mindre end, mindre end eller lig med, lig med, ikke lig med, større end eller lig med, større end, regulært udtryk).


  • en højre operand: sammenligningsværdien. Du kan vælge typen sammenligningsværdi ved at vælge den relevante fane i tilstandseditoren. Når du opretter en betingelse, kan du som sammenligningsværdi vælge en foruddefineret værdi (svar), en konstant, et spørgsmål, en undersøgelsesdeltagerattribut eller et regulært udtryk:


Eksempel på elementære betingelser og hvordan man opretter dem

  • Vis spørgsmål 'AAMN' hvis "svaret på spørgsmålet 'Køn' er det foruddefinerede svar 'Mand'"
    • testet værdi = svar på spørgsmålet 'Køn'
** sammenligningsoperator = er lig med
    • sammenligningsværdi = foruddefineret svarkode (det 'mandlige' svar i dette tilfælde)



  • Vis spørgsmål 'Alkohol' hvis "svaret på spørgsmålet 'Alder' er større eller lig med den numeriske værdi '18'"
    • testet værdi = svar på spørgsmålet 'Alder' '
    • sammenligningsoperator = større end eller lig med
    • sammenligningsværdi = den konstante værdi '18'


Fil:edit-simple-condition-constant.png


  Opmærksomhed : Når du bruger en konstant 'sammenligningsværdi' til et datospørgsmål, skal du bruge datoformatet ÅÅÅÅ-MM-DD, uanset datoformatet i din undersøgelse.



  • Vis spørgsmål 'Alkohol' hvis "svaret på spørgsmål 'Fødselsdato' er større end 2000-01-01"
    • testet værdi = svar på spørgsmål 'Fødselsdato' '
    • sammenligningsoperator = Større end eller lig med
    • sammenligningsværdi = '2000-01-01' (formatet i konstantfeltet: 2000-01-01 )



  • Vis spørgsmål 'Alkohol' hvis "Drikkehistorien" deltagers egenskab" matcher 'Ja'-strengen.
    • testet værdi= DrinkingHistory'-værdi taget fra survey-deltagertabellen
    • sammenligningsoperator = lig med
    • sammenligningsværdi = den konstante værdi 'Ja'


Betingelser og scenarier i LimeSurvey

Standardtilstandskombinationer

Som tidligere nævnt beslutter LimeSurvey automatisk, hvilken logisk operator (AND eller OR) der skal anvendes mellem betingelser afhængigt af 'konteksten'.

Bemærk også, at rækkefølgen, som du definerer dine elementære betingelser i, ikke er relevant, da LimeSurvey automatisk vil omorganisere dem i henhold til sin egen logik.

Lad os studere dette i detaljer. To regler bør altid huskes:

  • Første regel: betingelser med den samme testede værdi sammenstilles
  • Anden regel: betingelser med forskellig testværdi bliver OG-sammensat


Første regel: betingelser med den samme testede værdi OR-sammenstilles

Når du har flere betingelser, er de ORed' sammen, hvis de deler den samme testede værdi. Dette er tilfældet, hvis betingelsen gælder for flere svar, der hører til ét enkelt spørgsmål. For eksempel blev en betingelse nedenfor anvendt på tre svar, der hører til det samme spørgsmål - hvis svar på spørgsmål 'FavColour' er lig med 'grøn' ELLER svar på spørgsmål 'FavColour' er lig med 'rød' ELLER' svar på spørgsmål 'FavColour' er lig med 'blå', så vil spørgsmålet 'Fødselsdato' blive vist for spørgeren:



Bemærk: For at vælge flere foruddefinerede svar, glem ikke at holde Shift- eller Ctrl-tasten nede, mens du vælger de testede værdier.


Anden regel: betingelser med forskellig testet værdi OG-sammenstilles

Når du har flere betingelser, er de AND sammen, hvis de ikke deler de samme testede værdier. For eksempel kan du se casen nedenfor for flere forhold baseret på forskellige tidligere spørgsmål - "Hvis svar på spørgsmål 'Alkohol' er lig med 'Y', svar OG svar på spørgsmål 'Køn' er lig med 'F'", derefter vil spørgsmålet 'Alkoholforbrug' blive vist for spørgeren:



Spørgsmålene om flere muligheder

Bemærk: Dette afsnit gælder for Flere indstillinger og Flere indstillinger med kommentarer spørgsmål, og ikke på Array Multiple Flexible (antal) med checkbox layout spørgsmål (i tilfælde af sidstnævnte er hvert afkrydsningsfelt en separat spørgsmålspost og håndteres ikke rigtigt som andre spørgsmålstyper med flere muligheder).


Spørgsmålstyperne Multiple choice og Multiple choice med kommentarer vil blive vist i to varianter:

  • en Gruppe af afkrydsningsfelter smag, som lader dig indstille betingelser for alle mulige svar af de respektive spørgsmål;
  • et sæt Enkelt afkrydsningsfelt-indgange, som lader dig indstille betingelser for hvert afkrydsningsfelt individuelt.



Smagsgruppen af afkrydsningsfelter

Lad os nu fokusere på et eksempel for bedre at forstå forskellen mellem de to smagsvarianter. Lad os forestille os, at vi kun ønsker at vise 'Pointchoice'-spørgsmålet, hvis respondenten kontrollerer mindst ét af de testede svar, der er anført under 'Flere Organisationer'-spørgsmålet.

Som nævnt ovenfor giver gruppen af afkrydsningsfelter smag dig mulighed for at indstille betingelser for alle mulige svar på det respektive spørgsmål. Derfor er kun de muligheder, der refererer til ansvarsområder, valgt som sammenligningsværdier nedenfor:



Som vi kan observere, bliver betingelserne ORed på grund af Gruppe af afkrydsningsfelter-smag valgt i begyndelsen.:



OG-betingelser i multiple choice-spørgsmål

Lad os nu fokusere på et lignende eksempel. Vi leder dog denne gang kun efter de mest aktive medlemmer til at stille dem yderligere spørgsmål. For at gøre dette gør vi brug af Enkelt afkrydsningsfelt smag, som giver dig mulighed for at indstille betingelser baseret på hvert afkrydsningsfelt individuelt.

I dette eksempel vil spørgsmål X blive vist, hvis A og B er markeret:



Når det er gjort, kan du observere, at de to betingelser er OG-behandlet nu.



Det betyder, at dit spørgsmål ikke vil blive vist, medmindre begge testede værdier (de valgte underspørgsmål) er opfyldt.


Brugen af scenarier - Brug af ORed-betingelser mellem forskellige spørgsmål

Nu kan du hævde, at du nogle gange skal have ORed-betingelser, selv når de er indstillet på forskellige spørgsmål (det vil sige på forskellige testede værdier). Det er derfor, vi har scenarier!


Definition af et scenarie

Et scenarie er simpelthen en manuel gruppering af tilstande, hvor nogle forhold evalueres uafhængigt af andre forhold fra andre scenarier. Den komplekse betingelse, der resulterer i denne tilknytning af flere scenarier, vil kun blive opfyldt, hvis ét scenarie er opfyldt. Med andre ord, scenarier er logisk gruppering af betingelser, der respekterer ovenstående regler, og som er OR-sammenstillet for at bygge komplekse betingelser.

Alt, der er beskrevet ovenfor, gælder for de betingelser, der findes i hvert scenarie. Som standard oprettes alle de nye betingelser inde i Standardscenariet, som bruger nummer '1' som sin identifikator. Når du opretter nye betingelser, kan du vælge, om de føjes til standardscenariet eller ej. For at ændre scenariet skal du blot bruge en anden identifikator.


Tilføjelse af et spørgsmål til et andet scenarie

Når du opretter (eller redigerer) en betingelse, kan du ændre scenariet, som betingelsen er gemt i, ved blot at klikke på knappen Tilføj scenarie:



Som du kan se, bruger standardscenariet som identifikator '1'. For at tilføje betingelser til forskellige scenarier skal du ændre identifikatoren ved at skrive et andet tal i boksen.

Nummer-id'et for et scenarie har ingen betydning, og forskellige scenarier kan have ikke-kontinuerlige id'er.



Du kan ændre nummeret, der er tildelt et scenarie, ved at klikke på dette ikon og tildele det nye id til scenariet.



Bemærk: Som nævnt ovenfor har scenarietumre ingen indflydelse på den måde, betingelser evalueres på. Det er dog nødvendigt at ændre scenarienumrene for at:
  • bestemme, i hvilken rækkefølge scenarierne skal vises, når du bruger den printbare version af en undersøgelse
  • flette betingelser fra to scenarier (for at flette scenario 10 med scenario 1, skal du blot omnummerere scenario 10, så det bliver scenario 1).


Eksempel: oprettelse af tre scenarier

For at oprette tre scenarier skal du have mindst tre betingelser og tilføje et forskelligt scenarie-id til hver af dem. Når det er gjort, vil scenarierne blive forbundet indbyrdes via 'ELLER'-operatøren. Det kunne for eksempel se sådan ud:


AND vs OR i samme scenarie

Du kan i visse tilfælde ende med AND og OR logiske operatorer i samme scenarie:



LimeSurvey vil altid gælde først ELLER. For yderligere detaljer om dette, kan du tjekke følgende Wikipedia-artikel på Boolean algebra.

Imidlertid. rækkefølgen af operationer kan også observeres i feltet Relevansligning. For ovenstående eksempel er relevansligningen fremhævet nedenfor:


Fil:AND vs OR relevance eq.png


Som det kan ses, tilføjes et sæt ekstra parenteser til de logiske OR-operationer for at lade softwaren vide, at den skal "beregnes" først.


Help: For more information on relevance equations, check the ExpressionScript - Presentation and relevance equation wiki sections.

How to copy conditions

The copy conditions functionality can be used when you wish to apply the same set of conditions you applied to Question5 to Question10. In this way, you will not have to manually recreate the conditions you applied to the previous question(s).

To start copying conditions, you first have to select the question the condition(s) is/are applied to (Question 'LowQ' in our case). Then, select the conditions you wish to be copied and select the question you wish to have the conditions added to (Question 'Alcohol' in our case).



Note: Conditions can only be set based on questions that appear before the question on which the condition is set.

Please pay attention to how the copy conditions functions work when you wish to copy and apply a set of conditions located under different scenarios to another question which uses the same or different scenario id numbers. To summarise the possible cases you might have, check the following example:

  • you wish to copy Scenario 1 - Condition A, Scenario 1- Condition B, Scenario 7 - Condition C, and Scenario 7 - Condition D from QuestionX into QuestionY
  • QuestionY already contains Scenario 1 - Condition A, Scenario - Condition C, Scenario 6 - Condition E, Scenario 8- Condition F.
  • Once copied, the following conditions will be applied to QuestionY:
    • Scenario 1: Condition A, Condition B, Condition C -> Condition A is not copied anymore as it already exists in QuestionY, only condition B being copied.
    • Scenario 6: Condition E -> not affected
    • Scenario 7: Condition C, Condition D -> a new scenario is created where the two conditions are added to it
    • Scenario 8: Condition F -> not affected


Reset conditions

To quickly reset all the survey conditions, click on one survey-related setting, look for Tools on the top toolbar, and click Reset conditions:



Next, confirm on the next page that you want to proceed and all the conditions will be deleted.


Things to watch out for

General considerations

There are a few basic rules you should keep in mind before setting conditions on a question:

  • Once a single condition has been set for a question, that question will not be displayed unless that condition is met.
  • Conditions can only be set based on questions that appear before the question on which the condition is set.
  • If you change the order of questions in your survey after you create conditions, LimeSurvey does not warn you if the changed order will break any of your conditions. You should always put aside the creation of conditions until you are satisfied with the order of questions and groups in your survey.
  • You can modify conditions even after a survey has been activated. This should be done with caution, as there is no "consistency checking" applied here.


Conditions using the 'no answer' predefined answer


Setting the following condition "Show question 'FavColour' if the answer to the question 'Gender' is 'no answer'" really means "show question 'FavColour' if question 'Gender' was displayed to the survey participant who did not submit answer".


 Hint: To have the no answer option displayed as a predefined answer, the question cannot be mandatory.


Chained conditions

If you set conditions on a question that, itself, has conditions, you could end up with your survey behaving in ways you might not have predicted. For example, a typical side-effect is that if you hide all questions in a group with chained conditions, the group header will still be shown unless you correct these conditions as explained below.




In the above example, the 'Alcohol' question is displayed if the respondent has previously answered to the 'AAMN' question 'No (N)'. However, the 'AAMN' question might not be displayed at the end if the respondent did not select to the previous question ('Gender') answer 'Male (M)'. In this scenario, no 'Alcohol' question will be displayed if 'Male (M)' was chosen previously.

To have the 'Alcohol' question displayed, you have to copy the conditions from the earlier question(s) to the one you're editing. To have the 'Alcohol' question displayed, you need to set up the following set of conditions:

  • Show 'AAMN' if the answer to 'Gender' is 'Male (M)'
  • Show 'Alcohol' if answer to 'Gender' is 'Male (M)' and if answer to 'AAMN' is No (N)'.

After correction, the correct set of conditions for 'Alcohol' should look like this:



So if you are designing a complicated survey with a large number of conditions, make sure you test the survey for as many different combinations of results as you can think of.

To find out more on how you can copy conditions in LimeSurvey, please scroll up or click here to continue reading the dedicates wiki section.


Limitations and workarounds

Progress-bar

If you create a survey where many questions get skipped because of conditions, the progress bar either jumps over a set of questions or the survey ends at 50%.

To avoid such behavior, the questions that could be skipped should be arranged between the shown questions. In this way, only one or two questions get skipped per answer.

For example, based on Question1 (yes or no question), 14 questions (2A to 15A) will be displayed if the answer to Question1 is 'Yes', or 2B to 15B if the answer to Question1 was 'No'.

If you arrange the questions in one group and arrange them like 2A, 2B, 3A, 3B, and so on, you will get a nearly correct progress bar, while arranging the questions like 2A, 3A, 4A, [...], 2B, 3B, 4B, ... you will get a progress bar from 0 to 50% or from 50% to 100%, depending on the answer to the first question.


Setting a constant comparison value for a "Date" Question Type

You have to use the internal representation of Date values (which is YYYY-MM-DD) to define your constant comparison value.


Setting conditions for "Other" Options in the Multiple Options Question Type

In the multiple options question type, you can use the "Other" provided in the question type as a valid choice but you cannot set conditions on it. For example, Question No 1 says "Which color do you prefer to use?" Answer checkbox choices are Blue, Black and Other. If the participant chooses Blue, you can set a condition. If the participant chooses Black, you can set a different condition. However, if the participant chooses "Other" and types in something in the text box, there is NO way a condition can be set. LimeSurvey does not recognize if the participant chose the "Other" condition. This is NOT a bug but a limitation.

There is no real field recorded for the 'other' checkbox for this question type. Thus, the only way to know if the user has answered the 'other' part of the question or not would be to check if the value of the text written in the other input field is empty or not.

However, due to the specific way Multiple choice questions are handled, testing the 'other' text input field has never been implemented.

As a workaround, add an explicit answer option called 'Other' and do not use the built-in 'other' option of these question types. Then add an additional short text question which will be displayed if this 'Other' checkbox was clicked.


How to use parenthesis for the boolean expressions?

You can't!

If you want to design something like:

(condition1 OR condition2) AND (condition3 OR condition4),

you'll have to set up:

 (condition1 AND condition3) OR

 (condition1 AND condition4) OR

 (condition2 AND condition3) OR

 (condition2 AND condition4)