Actions

Toon logica enquête

From LimeSurvey Manual

This page is a translated version of the page Show logic file and the translation is 96% complete.

Other languages:
Deutsch • ‎English • ‎日本語 • ‎Nederlands


Algemeen

Een belangrijke optie die je helpt bij het maken en onderhouden van een complexe enquête is Enquête logica-bestand.

Tijdens het maken en het testen van de enquête is het belangrijk om de logica van de enquête te valideren voordat je de enquête activeert. Dit geldt met name als er complexe relevantie, maatwerk en validatie-vergelijkingen gebruikt worden, anders kan de enquête mogelijk niet goed ingevuld worden.

Met deze functie kun je snel controleren of de enquête, groep of vraag goed is ingevoerd. Selecteer eerst een enquête, kies daarna de functie in de instellingen van de enquête op het menu Hulpmiddelen;


Show logic file.jpg


Hierboven zie je dat de optie voor elke taal die in een enquête wordt gebruikt, kan worden uitgevoerd.


Beschrijving

Deze functie toont alles wat gespecificeerd is voor elke vraag (bijvoorbeeld: naam, tekst, help, condities/relevantie, validatie regels, standaarden, subvragen, antwoorden) in een tabelvorm.  Fouten worden aangegeven en je kunt elke vraag en groep aanklikken (de ID's of de variabelen in vergelijkingen) om in een nieuw venster die vraag / groep te wijzigen. Je kunt daarna snel opnieuw de controle uitvoeren, voordat je enquête activeert.

Het overzicht is ook zo ontworpen dat onderzoekers het kunnen lezen en de nauwkeurigheid kunnen valideren van het ontwerp en de logica van de enquête. De functie ververst de cache voor alle gebruikte expressies van de geselecteerde enquête.

De kolommen zijn:

  • # - toont een teller van de volgorde van groepen en vragen, beginnend bij 0.
  • Naam [ID]- toont de vraagcode voor de groep / vraag / subvraag. Deze codes kunnen worden gebruikt als variabelen binnen expressies. ID is de vraag-id (QID) of het groeps-id (GID). Dit veld toont ook het vraagtype (bijv. Meerkeuzevraag [M])).


Help.pngLees meer over welke variabelen in expressies kunnen worden gebruikt,


  • Relevantie [Validatie] (Standaard) - toont:
    • Relevantie - de validatievergelijking voor de vraag of de groep, met kleur gemarkeerd. Als de vraag altijd gesteld wordt, is de waarde 1.
    • Validatie - Expressie beheer genereert automatisch de validatievergelijking gebaseerd op de geselecteerde vraagattributen (bijvoorbeeld: min/max aantal antwoorden, min/max/gelijk somwaarde, min/max waarde, reguliere expressie validatie). Hier wordt de gegenereerde validatievergelijking getoond, je kunt zien of er fouten zijn (bijvoorbeeld: onbekende variabele).
    • Standaard - als de vraag een standaardwaarde heeft, wordt die hier, met kleur gemarkeerd, getoond (omdat de standaardwaarde een expressie kan zijn).
  • Tekst [Help] (Tip) - toont:
    • Tekst - de tekst van de groep, vraag, subvraag of antwoord. Ook met kleur gemarkeerd om het gebruikte maatwerk te tonen, je kunt dan zien of alle variabelen die daarin gebruikt worden bekend zijn.
    • Help - de helptekst voor de vraag, ook met kleur gemarkeerd.
    • Tip - de op vraagattributen gebaseerde intern gegenereerde validatie tip. Ook gebruikt in alle enquête stijlen, in de afdrukbare enquête en in de schermen bij gegevensinvoer.
    • Vraagattribuut - een tabel met alle relevante vraagattributen van de vraag. Een attribuut dat een vergelijking kan zijn wordt met kleur gemarkeerd, je kunt dan de nauwkeurigheid beoordelen.

Het gebruik van kleuren:

  • Groep - een lichtgrijze achtergrond
  • Vraag - een lichtgroene achtergrond
  • Subvraag - een lichtgele achtergrond
  • Antwoord - een witte achtergrond

Bij antwoorden is er een extra attribuut in de kolom Relevantie:

  • Value - de standaard waarde die intern gebruikt wordt bij berekeningen.  Als je beoordelingen gebruikt, is het de beoordelingswaarde.  Anders is het de antwoordnaam.


Help.pngDe beschrijving van de enquête, de welkomst- en eindtekst, de eind-URL, de gegevensbescherming en label staan in het logicabestand van de enquête (boven de tabel) als de bijbehorende velden niet leeg zijn!


Gebruik

Bovenaan het overzicht staat een samenvatting van het resultaat van de controle. Als er geen problemen zijn, staat er "Geen fouten gevonden in de enquête", of "Deze groep bevat geen fouten" of "Deze vraag bevat geen fouten".  Als er wel fouten zijn: "X vragen bevatten fouten die verbeterd moeten worden" (of "X vraag bevat fouten die verbeterd moeten worden").

Elke vraag met een fout wordt met rood gemarkeerd (de achtergrondkleur van de linkerkolom ("#")).  Ook staat er een waarschuwing met het aantal fouten in de vraag onder de kolom Naam [ID]. De meest voorkomende fouten zijn:

  • Onbekende variabele : als een variabele niet gedefinieerd is, of je hebt een tikfout in de naam van een array_filter (of in de verschillende antwoordopties voor array_filter), dan worden er fouten getoond bij je validatie vragen. De onbekende variabele is rood in een rood omlijnd vak.
  • Syntaxfout : als je begint met relevantie vergelijkingen, gebruik je snel teveel of te weinig haakjes. Dergelijke fouten worden ook in rood en rood omlijnd getoond. Als je hier met de muis overheen gaat, dan krijg je een beschrijving van de fout.


Onbekende variabele

De naam van de niet gedefinieerde variabele is in het rood in een rood omlijnd vak.  Als je er met de muis overheen gaat, krijg je de melding "Onbekende variabele":


Undefined varaible.jpg


Important.png
Attention : Please note that LimeSurvey does not allow survey administrators to create questions that use the same question code. However, it could happen to have similar question codes within a survey if you import a question group or a question that uses the same question code as one of your already-defined questions. The question can still be imported because the question ids are different. However, if you wish to export the survey results to further explore the survey results (R or SPSS), be careful because the question code is seen as a variable!


Same code name not recommended.png


Syntaxfout

Most of the expression-related mistakes are related to bad syntax. This is related to the fact that survey administrators usually miss to add a curly bracket, to properly make use of parentheses, or they use expressions wrongly:


Syntax highlighting parantheses.png
Syntax highlighting extra comma.png


Voorbeelden van het met kleur markeren, oftewel syntax highligting.


Fouten in eigen JavaScript

Als je enquête aangepaste JavaScript bevat, dan kun je een vraag als fout gemarkeerd zien, terwijl er geen variabele-naam als fout in het rood is gemarkeerd.


Javascript error.jpg


Snel wijzigen en valideren

Als tekst met kleur gemarkeerd is, dan heeft het een tooltip en kun je er op klikken.

  1. Tooltip
    • Functies - als je er met de muis overheen gaat dan krijg je het doel van de functie en de syntax te zien
    • Variabele naam - als je er met de muis overheen gaat dan zie je de plaats (groep en vraag volgorde), de vraagtekst, de mogelijke antwoorden van de vraag
  2. Acties
    • Variabele naam - als je er op klikt dan krijg je een venster om de vraag te wijzigen.  Logisch en gemakkelijk - door eenvoudig te klikken op een naam van een variabele in een relevantie of validatie van de vraag zie je waar het vandaan komt en hoe het gebruikt wordt.


Schermafdruk

De volgende voorbeelden komen uit de Expression Manager Sample Surveys.  Er staan schermafdrukken van enquêtes die uitgevoerd worden, uitleg en mogelijke downloads.


BMI

Voorbeeld: schermafdrukken van de BMI, de lichaamsgewicht index.

Dit is een weergave van de berekening van de BMI waarin de vraagvolgorde aangepast kan worden. Je ziet de relevantie vergelijkingen voor weight, height en BMI in de kolom Vragen:


BMI reorder.jpg


Raadpleeg het logica-bestand voor aanvullende informatie:


BMI logic1.jpg


Een goed voorbeeld met een geneste if() om de "weightstatus" te bepalen.


BMI logic2.jpg


Trapsgewijze logica

Hier staan schermafdrukken van dit voorbeeld.

Dit voorbeeld toont de validatie logica op subvraagniveau die automatisch aangemaakt wordt wanneer je array_filter en array_filter_exclude gebruikt.  Je ziet ook hoe je de "Other" waarde (het antwoord voor Q02_other is Q01_other) kunt vervangen.


Cascading logic1.jpg


In dit voorbeeld toont Q05 het gelijktijdig gebruik van array_filter en array_filter_exclude op respectievelijk Q01 en Q02. Dit toont de trapsgewijze mogelijkheden van array_filter. Een van de hoofdredenen voor het tonen van de VALIDATIE criteria (op vraag en subvraag niveau) is dat je eenvoudig kunt controleren dat je geen tikfout gemaakt hebt bij het specificeren van de namen van de variabelen van de array_filter of array_filter_exclude (of in dit geval, je lijst gefilterde subvragen).  Als je een tikfout gemaakt hebt, dan wordt de variabele naam in het rood getoond, zodat je de fout snel kunt oplossen.


Cascading logic2.jpg


Dynamische relevantie

Dit voorbeeld toont dynamische trapsgewijze relevantie logica om de zichtbaarheid van de vraag te regelen. Je kunt dit voorbeeld downloaden.

De vragen kid1-kid3 zijn verplicht (mandatory).  Als de vraag niet relevant is, dan is het verplicht zijn niet van belang. Deze vragen zou je "conditioneel verplicht" kunnen noemen.


Dynamic relevance logic1.jpg


Relevantie op groepsniveau

In dit voorbeeld wordt relevantie op groepsniveau in het logica-bestand getoond. Hier staan schermafdrukken van de demo.

Zoals je kunt zien, komt de relevantie vergelijking op groepsniveau (cohabs > 1 && p1_rel != "") voor in de grijze rij Person 2 voor G-2.

Je ziet ook dat alle vragen verplicht (mandatory) zijn. Als de groep niet relevant is, dan zijn alle vragen in de groep niet relevant, dus de vragen zijn alleen echt verplicht als de groep relevant is.

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".

Ook alle tip/hint teksten worden automatisch voor je aangemaakt. Ze zijn ingedeeld in waardebereik (min/max), opgetelde waardebereik (min/max/equals), aantal antwoorden (min/max), enz. Soms wil je een antwoordbereik valideren maar geen rare validatie aanwijzing als tip/hint tonen aan de gebruiker. Je kunt dan de speciale vraagoptie hide_tip gebruiken (in dit geval kun je voorkomen dat de gebruiker de tip/hint krijgt de leeftijd tussen de 0 en 115 moet liggen, behalve als ze een verkeerde waarde invullen).


Person2 logic.jpg


Komma als radix (decimaal) scheidingsteken

Deze demo toont dat, ondanks dat vanaf versie 1.92 het gebruik van komma als decimaal scheidingsteken bij het uitvoeren wordt ondersteunt, je toch nog een decimaal als scheidingsteken moet gebruiken bij het ontwerpen (bijvoorbeeld bij het specificeren van min/max waarden bij de speciale vraagattributen). Een werkend voorbeeld staat hier.

We herhalen nogmaals dat de VALIDATIE logica automatisch wordt aangemaakt op grond van de speciale vraagattributen. De vergelijkingen zijn vermoedelijk onnavolgbaar, maar je hoeft je er niet druk over te maken.


Radix logic1.jpg