Actions

Expression Manager sample surveys/nl: Difference between revisions

From LimeSurvey Manual

No edit summary
No edit summary
 
(45 intermediate revisions by 3 users not shown)
Line 7: Line 7:




De beste manier om Expressiebeheer te leren te gebruiken is door werkende voorbeelden uit te proberen en die aan te passen naar wat je nodig hebt.
De beste manier om ExpressionScript te leren te gebruiken is door werkende voorbeelden uit te proberen en die aan te passen naar wat je nodig hebt.


Hieronder hebben we voorbeelden verzamelt om uit te leggen hoe je Expressiebeheer (EM) kunt gebruiken en testen om je enquête te verbeteren. De voorbeelden staan in de map /docs/demosurveys van de installatie op je server.  
Hieronder hebben we voorbeelden verzamelt om uit te leggen hoe je Expressiebeheer (EM) kunt gebruiken en testen om je enquête te verbeteren. De voorbeelden staan in de map /docs/demosurveys van de installatie op je server.  
Line 19: Line 19:


De volgende functies worden gebruikt in dit voorbeeld:
De volgende functies worden gebruikt in dit voorbeeld:


==Functies gedemonstreerd==
==Functies gedemonstreerd==
Line 77: Line 76:


Voorbeeld [[Media:LS3_em_tailoring.zip|downloaden]].
Voorbeeld [[Media:LS3_em_tailoring.zip|downloaden]].


=Voorbeeld telling=
=Voorbeeld telling=
Line 272: Line 270:
Het invoeren van de leeftijden van de kinderen in aflopende volgorde bij deze vraag wordt afgedwongen door deze validatievergelijking.
Het invoeren van de leeftijden van de kinderen in aflopende volgorde bij deze vraag wordt afgedwongen door deze validatievergelijking.


<syntaxhighlight lang="php" enclose="div">q1_sq1 >= q1_sq2 && q1_sq2 >= q1_sq3 && q1_sq3 >= q1_sq4</syntaxhighlight>
<syntaxhighlight lang="php">q1_sq1 >= q1_sq2 && q1_sq2 >= q1_sq3 && q1_sq3 >= q1_sq4</syntaxhighlight>




Line 283: Line 281:
In het onderstaande voorbeeld zorgt de validatievergelijking ervoor dat niet meer dan 3 vragen in een bepaalde rij worden beantwoord.
In het onderstaande voorbeeld zorgt de validatievergelijking ervoor dat niet meer dan 3 vragen in een bepaalde rij worden beantwoord.


<syntaxhighlight lang="php" enclose="div">(sum(Test_A_1, Test_A_2, Test_A_3, Test_A_4, Test_A_5) <= 3) && (sum(Test_B_1, Test_B_2, Test_B_3, Test_B_4, Test_B_5) <= 3) && (sum(Test_C_1, Test_C_2, Test_C_3, Test_C_4, Test_C_5) <= 3)</syntaxhighlight>
<syntaxhighlight lang="php">(sum(Test_A_1, Test_A_2, Test_A_3, Test_A_4, Test_A_5) <= 3) && (sum(Test_B_1, Test_B_2, Test_B_3, Test_B_4, Test_B_5) <= 3) && (sum(Test_C_1, Test_C_2, Test_C_3, Test_C_4, Test_C_5) <= 3)</syntaxhighlight>


Je kunt dit ook als volgt schrijven, LimeSurvey converteert het automatisch bij het uitvoeren naar de hierboven vermelde expressie.
Je kunt dit ook als volgt schrijven, LimeSurvey converteert het automatisch bij het uitvoeren naar de hierboven vermelde expressie.


<syntaxhighlight lang="php" enclose="div">(sum(self.sq_A) <= 3) && (sum(self.sq_B) <= 3) && (sum(self.sq_C) <= 3)</syntaxhighlight>
<syntaxhighlight lang="php">(sum(self.sq_A) <= 3) && (sum(self.sq_B) <= 3) && (sum(self.sq_C) <= 3)</syntaxhighlight>




Line 453: Line 451:




This is Group0, which uses the [[Question type - Equation|Equation question type]] to select random values from 1 to 6 for each group (except the last group, which has only 4 questions).  Note that the "if()" function first checks whether ask1 has already been set, and if so, uses that value. If the value hasn't been set, then it uses a random value to set the value of ask1.
Dit is Group0, die het [[Question type - Equation/nl|vraagtype Vergelijking]] gebruikt om willekeurige waarden van 1 tot 6 voor elke groep te selecteren (behalve de laatste groep, die slechts 4 vragen heeft). Merk op dat de functie "if ( )" eerst controleert of vraag1 al is ingesteld en zo ja, die waarde gebruikt. Als de waarde niet is ingesteld, gebruikt deze een willekeurige waarde om de waarde van ask1 in te stellen.




Line 459: Line 457:




This Group shows how the variable (ask4) from Group0 is used to control which question is visible within the fourth group.
Deze groep laat zien hoe de variabele (ask4) uit Group0 wordt gebruikt om te bepalen welke vraag zichtbaar is in de vierde groep.




Line 474: Line 472:




{{Alert|This applies only to all random questions from one group and only if the [[Creating a new survey#Presentation_.26_navigation|Group by group or All in one]] format is used.}}
{{Alert|Dit is alleen van toepassing op alle willekeurige vragen uit één groep en alleen als de [[General_settings/nl#Paneel_algemene_instellingen|'Groep voor groep' of 'Alles in een keer']] -modus wordt gebruikt.}}




Line 480: Line 478:




This survey shows how to ask a random subset of questions in a group. For example, show 5 random questions out of 10 questions located within a group.  
Deze enquête toont hoe je een aantal willekeurige vragen uit een groep kun tonen. Voorbeeld: toon 5 willekeurige vragen uit een groep met 10 vragen.  


The survey has one group containing 10 questions. All questions are assigned the same [[QS:Random_group|randomization group name]]. As a result, they will be displayed in a random order on page load. Each question is given a relevance equation that the sum of the "[[Expression Manager#Access to Variables|relevanceStatus]]" of all other questions in the group is less than the number of questions you want to show. Since [[Expression Manager#Access to Variables|relevanceStatus]] is assigned as questions are rendered, this effectively totals the number of preceding questions.
De enquête heeft een groep met 10 vragen. Alle vragen hebben dezelfde [[QS:Random_group/nl|randomisatiegroepsnaam]]. Daardoor worden ze bij het laden van de pagina in een willekeurige volgorde getoond. Elke vraag heeft een relevantievergelijking dat de som van de "[[Expression Manager/nl#Toegang tot variabelen|relevantieStatus]]" van alle andere vragen in de groep kleiner is dan het aantal vragen dat je wilt laten tonen. Omdat de status wordt toekent aan de vragen bij het weergeven, betekent dit dat het aantal al getoonde vragen eigenlijk geteld wordt.


So, in our 5 out of 10 example, the equation for Q1 would be:
Dus in ons voorbeeld 'toon 5 van de 10' zou de vergelijking voor Q1 zijn:


<syntaxhighlight lang="php" enclose="div">sum(Q2.relevanceStatus, Q3.relevanceStatus, Q4.relevanceStatus, Q5.relevanceStatus, Q6.relevanceStatus, Q7.relevanceStatus, Q8.relevanceStatus, Q9.relevanceStatus, Q10.relevanceStatus) LT 5</syntaxhighlight>
<syntaxhighlight lang="php">sum(Q2.relevanceStatus, Q3.relevanceStatus, Q4.relevanceStatus, Q5.relevanceStatus, Q6.relevanceStatus, Q7.relevanceStatus, Q8.relevanceStatus, Q9.relevanceStatus, Q10.relevanceStatus) LT 5</syntaxhighlight>


For Q2, it would be:
Voor Q2 zou het zijn:


<syntaxhighlight lang="php" enclose="div">sum(Q1.relevanceStatus, Q3.relevanceStatus, Q4.relevanceStatus, Q5.relevanceStatus, Q6.relevanceStatus, Q7.relevanceStatus, Q8.relevanceStatus, Q9.relevanceStatus, Q10.relevanceStatus) LT 5</syntaxhighlight>
<syntaxhighlight lang="php">sum(Q1.relevanceStatus, Q3.relevanceStatus, Q4.relevanceStatus, Q5.relevanceStatus, Q6.relevanceStatus, Q7.relevanceStatus, Q8.relevanceStatus, Q9.relevanceStatus, Q10.relevanceStatus) LT 5</syntaxhighlight>


And so on...
Enzovoort...




Line 498: Line 496:




#[[Expression_Manager#Access_to_Variables|relevanceStatus variable]]
#[[Expression_Manager/nl#Toegang tot variabelen|relevanceStatus variable]]
#[[QS:Random group|Randomizing]]
#[[QS: Random group/nl|Randomisatie]]




Line 506: Line 504:


Voorbeeld [[Media:Random_5_out_of_10.lss|downloaden]].
Voorbeeld [[Media:Random_5_out_of_10.lss|downloaden]].


=Beoordelen door gebruiker geselecteerde producten=
=Beoordelen door gebruiker geselecteerde producten=
Line 514: Line 511:




The below example shows how you can ask users to list a set of products that interest them, and then have them rate those products.
In het onderstaande voorbeeld zie je hoe je gebruikers kunt vragen een reeks producten te vermelden die hen interesseren, en ze vervolgens die producten laten beoordelen.




Line 520: Line 517:




#'''Tailoring answers''' - when rating products, the labels come from the comment field of the preceding multiple choice question
#'''Maatwerk antwoorden''' : bij het beoordelen van producten komen de labels uit het commentaarveld van de voorafgaande meerkeuzevraag.
#'''Tailoring scales''' - many advanced questions options, like scale headings, can also be tailored.
#'''Maatwerk schalen''' : veel geavanceerde vragenopties, zoals schaalrubrieken, kunnen ook op maat worden gemaakt.




Line 527: Line 524:




This image shows that even though only products 1,3, and 5 were selected, only those 3 are displayed (using the [[QS:Array_filter|array_filter]] attribute). Moreover, the row labels in the second question are either the product numbers (if nothing is entered into the comment field) or the contents of the comment fields.
Deze afbeelding laat zien dat omdat alleen producten 1, 3 en 5 zijn geselecteerd, daarna alleen die 3 worden weergegeven (met behulp van het  [[QS:Array_filter/nl|array_filter]]). Verder zijn de rijlabels in de tweede vraag ofwel het productnummer (als er niets is ingevoerd in het opmerkingenveld) of de inhoud van het opmerkingenveld.




Line 533: Line 530:




This image shows how the tailored answers are specified:
Deze afbeelding laat zien hoe de op maat gemaakte vragen worden gespecificeerd.




Line 539: Line 536:




Here is the Show Logic File for that question, which lets us verify that the conditional logic works as desired (e.g., to see whether there are any syntax errors):
Dit is het logica-bestand van deze vraag, waarmee je kunt controleren of de voorwaardelijke logica naar wens werkt (zijn er geen syntaxfouten):




Line 545: Line 542:




The next image shows a group in which you specify a 5 point rating scale (Options 1-5), the title of the scale, and the products you want to rate. The final question shows that each of the parts of the array question can be tailored:
De volgende afbeelding toont een groep waarin een 5-punts beoordelingsschaal wordt gespecificeerd (opties 1-5), de titel van de schaal en de producten die u wilt beoordelen. De laatste vraag laat zien dat elk van de onderdelen van de array-vraag kan worden aangepast met maatwerk:




Line 551: Line 548:




The next image shows the logic file view of the last question. As you can observe, the subquestions, answers, and scale headers can be tailored.
De volgende afbeelding toont de logica-bestand van de laatste vraag. Zoals je kunt zien, kunnen de subvragen, antwoorden en schaalteksten met maatwerk worden aangepast.





Latest revision as of 21:40, 17 February 2022


Inleiding

De beste manier om ExpressionScript te leren te gebruiken is door werkende voorbeelden uit te proberen en die aan te passen naar wat je nodig hebt.

Hieronder hebben we voorbeelden verzamelt om uit te leggen hoe je Expressiebeheer (EM) kunt gebruiken en testen om je enquête te verbeteren. De voorbeelden staan in de map /docs/demosurveys van de installatie op je server.


Relevantie, maatwerk en vergelijkingen

Overzicht

De volgende functies worden gebruikt in dit voorbeeld:

Functies gedemonstreerd

  1. Relevantie : ondersteuning met krachtige conditionele logica.
  2. Maatwerk : de mogelijkheid om antwoorden en metadata van vragen aan te passen.
  3. Dynamisch maatwerk : Rapporten worden bijgewerkt op de pagina na het beantwoorden van een vraag.
  4. Klein maatwerk : conditioneel bijwerken zinnen en rapporten met gebruik van if-statements.
  5. Vergelijkingen : een nieuw vraagtype waarmee je kunt rekenen en resultaten kunt vastleggen in de database, ook al is de berekening verborgen.
  6. Conditionele validatie : validatiecriteria, zoals een minimumwaarde, eventueel conditioneel gebasseerd op vergelijkingen.


Schermafdruk

In dit voorbeeld wordt de BMI bepaald (Body Mass Index), een berekening op grond van je gewicht en je lengte. Een norm om te bepalen of je bijvoorbeeld overgewicht hebt. Standaard zijn er 4 verplichte vragen.



Na het invullen van de informatie (waaronder het selecteren welke eenheden je gebruikt) zie je een maatwerk rapport met je invoergegevens en het resultaat:



Een ander voorbeeld met andere eenheden, de resultaten worden vanzelfsprekend met die eenheden weergegeven:



Er zijn verborgen vragen van het vraagtype Vergelijking waarmee intern de eventuele benodigde omzettingen vanwege de gekozen eenheden worden gedaan. Dit hoeft dus niet in JavaScript te worden gedaan.

In de volgende set voorbeelden zie je hoe je mathematische en andere functies kunt gebruiken bij maatwerk rapporten. Voor het invoeren van gegevens ziet de pagina er als volgt uit. Er is conditionele logica om blanco gegevens te tonen als er geen of een niet-numeriek gegeven is ingevoerd, dit voorkomt het tonen van "NaN" en "Divide by Zero".



Bij numerieke invoer wordt het rapport aangepast om de berekening te doen en het resultaat te tonen.



In deze enquête staan veel andere voorbeelden. In onderstaande afbeelding wordt een van de vele manieren om de pagina Dynamische relevantie te vullen, getoond. Probeer, zoals de helptekst aangeeft, rustig verschillende waarden uit, ook als ze onlogisch zijn om de verschillende genereerde antwoorden te bekijken. Merk ook op dat de teksten afhankelijk zijn van je antwoorden, bijvoorbeeld of je 1 of meer kinderen hebt. Een stukje maatwerk. Dit kan ook voor afwijken op geslacht, of voor het gebruik van werkwoordsvormen.



Download

Voorbeeld downloaden.

Voorbeeld telling

Overzicht

In dit voorbeeld vragen we hoeveel mensen er zijn in je huishouden.

We demonstreren hoe groepsrelevantie het gemakkelijk maakt om een aantal vragen een aantal keer te stellen (een loop, de vragen worden per lid van het huishouden gesteld). Na het aanmaken van de groep voor de eerste persoon wordt de groep door ons geëxporteerd. Als variabele-naam is p1_name gekozen in plaats van de SGQA-code. Je kunt natuurlijk de vraag dan simpel een aantal keer kopiëren in een tekstverwerker en dan importeren nadat je de variabele-namen uniek hebt gemaakt.

Je kunt hiervoor ook, al zal dat wel iets langer duren, de functie vraag kopiëren gebruiken.

We tonen ook hoe je het tonen van het afsluitbericht kunt voorkomen totdat alle verplichte groepen afgerond zijn.


Functies gedemonstreerd

  1. Groepsrelevantie: De groepen per personen in het huishouden (1 tm 5) worden getoond afhankelijk van het opgegeven aantal leden van het huishouden.
  2. Maatwerk: Het eindrapport bevat demografische gegevens voor elk lid van het huishouden.
  3. Progressief tonen van vragen: Of per groep of alles tegelijk, vervolgvragen worden pas getoond als de voorafgaande vraag is beantwoord.


Schermafdruk

De enquête maakt een rapport aan waarin met maatwerk de demografische gegevens van de leden van het huishouden worden getoond.



Als je kiest voor een vraag per keer dan kun je de vragen met maatwerk mooier maken. Omdat je weet dat het een vrouw is, vraag je naar haar naam. Vervolgens vraag je hoe oud zij is, waarbij je dan de net ingevulde naam gebruikt.



Download

Voorbeeld downloaden.


Cascading arrayfilters

Overzicht

Deze enquête is gebaseerd op een enquête van Joy Lane Research, LLC.


Schermafdruk

Hierbij staat:

  • Q02 voor de verzameling geselecteerde producten in vraag Q01 (gebruik van een array_filter).
  • Q02 toont ook "Another product", de ingevulde tekst bij het veld "Other electronic" in Q01.
  • Q04 voor de verzameling geselecteerde producten in Q02 (dus een herhaald filter).
  • Q05 voor de verzameling niet in Q02 geselecteerde producten (gebruik van het array_filter_exclude).




Download

Voorbeeld downloaden.


Maatwerk met gebruik van vraagtypes en attributen

Overzicht

Je bent niet alleen als je de naamgeving van je variabelen moeilijk vindt (SGQA of Qcodes). In de documentatie beschrijven we hoe een Qcode-naam wordt opgebouwd, maar vermoedelijk is een werkend demo gemakkelijker te volgen.  In deze enquête tonen we hoe je vraagattributen en reacties kunt benaderen met Expressiebeheer.


Voor dit voorbeeld raden we aan de ingebouwde HTML-editor uit te schakelen (of de pop-upmodus te kiezen) bij het bewerken van deze enquête. Het kan een minuut of wat langer duren voordat de HTML-editor een groter HTML-rapport weergeeft in de bewerkingsmodus.


Inhoud

  • Voorbeelden van elk vraagtype.
  • Inclusief alle vraagtypes die "anders" kunnen gebruiken, zodat je kunt zien hoe dat van invloed is op de naamgeving van de variabelen.
  • Standaardwaarden voor alle vraagtypen die standaardinstellingen accepteren.
  • Maatwerk : On- en off-pagina rapporten met alle 16 beschikbare Expressiebeheer notatie-achtervoegsels.
  • Deze rapporten tonen alle ingevoerde gegevens (je ziet hoe je eigen afdrukbare rapporten kunt genereren voor gebruikers in plaats van het afdruk- antwoordscherm)
  • Goede Qcode en SGQA-naamgeving van alle variabelen.


Schermafdruk

Geen screenshot, want dit is een lange enquête. Probeer de download uit.


Download

Voorbeeld downloaden.


Traditionele validatie, opnieuw gebruiken

Overzicht

Hier zien we alle validatietypes die gebruikmaken van expressies en hoe deze van invloed zijn op elk van de vraagtypes die validatie ondersteunen. In veel gevallen zijn de validatietips eerst verborgen en verschijnen ze alleen als een antwoord niet voldoet aan de validatiecriteria (ze verdwijnen zodra het antwoord voldoet).


Validatie types gedemonstreerd

  1. min_num_value_n : minimumwaarde van een antwoord.
  2. max_num_value_n : maximumwaarde van een antwoord.
  3. min_answers : minimum aantal vereiste antwoorden.
  4. max_answers : maximaal aantal toegestane antwoorden.
  5. multiflexible_min : minimum toegestane waarde voor een antwoord (vraagtype multiflexi-nummers).
  6. multiflexible_max : maximum toegestane waarde voor een antwoord (vraagtype multiflexi-nummers).
  7. min_num_value : minimum toegestane som voor alle antwoorden op de vraag.
  8. max_num_value : maximum toegestane som voor alle antwoorden op de vraag.
  9. equals_num_value : de som voor alle antwoorden op de vraag moet gelijk zijn aan deze waarde.
  10. validation : dit is de reguliere expressievalidatie van de vraag, deze kan op individuele cellen van toepassing zijn.


Schermafdruk

Met behulp van nieuwe CSS-styles verschijnt bij elk validatietype een afzonderlijke tip. Als ze worden getoond, kunnen ze worden verborgen via de optie hide_tip. De standaardoptie is om ze met een rood lettertype weer te geven als het antwoord niet aan de validatiecriteria voldoet en groen als het voldoet.



Een gebruiker zal direct worden gewaarschuwd als hij verkeerde informatie heeft ingevoerd. De gegevens worden niet vastgelegd.



Validatie kan worden toegepast op afzonderlijke cellen in een array, zoals in dit voorbeeld, waarbij validatie met reguliere expressies ervoor zorgt dat elke vermelding een correct opgemaakt Amerikaans telefoonnummer is, inclusief een area-code.



Download

Voorbeeld downloaden.


Validatie vergelijkingen

Overzicht

Soms heb je aangepaste validatie nodig die niet kan worden bereikt met behulp van de traditionele min/max-criteria. Dan moet je de opties em_validation_q en em_validation_sq gebruiken, waarmee je complexe validatievergelijkingen kunt maken op respectievelijk vraag- en subvraagniveau.


Op het subvraagniveau introduceren we ook de "this"-variabele om het gemakkelijk te maken om elke cel in een array te valideren zonder de variabelenaam ervan te hoeven weten.


Functies gedemonstreerd

  1. em_validation_q : een vergelijking die bepaalt of de hele vraag valide is.
  2. em_validation_q_tip : het bericht dat wordt weergegeven als niet aan de criteria wordt voldaan.
  3. em_validation_sq : de vergelijking die bepaalt of elke subvraag (array-cel) valide is.
  4. em_validation_sq_tip : het bericht dat wordt weergegeven als niet aan de subvraag is voldaan.

Als em_validation_sq wordt gebruikt wordt over het algemeen als een cel ongeldig is, de achtergrondkleur voor die cel rood, om aan te geven dat er een fout is.


Schermafdruk


Het invoeren van de leeftijden van de kinderen in aflopende volgorde bij deze vraag wordt afgedwongen door deze validatievergelijking.

q1_sq1 >= q1_sq2 && q1_sq2 >= q1_sq3 && q1_sq3 >= q1_sq4





In het onderstaande voorbeeld zorgt de validatievergelijking ervoor dat niet meer dan 3 vragen in een bepaalde rij worden beantwoord.

(sum(Test_A_1, Test_A_2, Test_A_3, Test_A_4, Test_A_5) <= 3) && (sum(Test_B_1, Test_B_2, Test_B_3, Test_B_4, Test_B_5) <= 3) && (sum(Test_C_1, Test_C_2, Test_C_3, Test_C_4, Test_C_5) <= 3)

Je kunt dit ook als volgt schrijven, LimeSurvey converteert het automatisch bij het uitvoeren naar de hierboven vermelde expressie.

(sum(self.sq_A) <= 3) && (sum(self.sq_B) <= 3) && (sum(self.sq_C) <= 3)



Download

Voorbeeld downloaden.


Subvraag relevantie

Overzicht

Dit laat zien hoe array_filter en validatiecriteria kunnen samenwerken. Bij validatie die op sommen van toepassing is, worden alleen de relevante (zichtbare) waarden in meegenomen.


Functies gedemonstreerd

  1. array_filter
  2. array_filter_exclude
  3. min_num_value
  4. max_num_value
  5. equals_num_value

Het toont ook dynamische rapportage over het aantal vragen dat in de hoofdvragen is beantwoord.


Schermafdruk

Als je het aantal zichtbare rijen wijzigt, wordt de som dynamisch gewijzigd. Het markeren van een deelvraag als zijnde irrelevant, wist de waarde niet, maar zorgt ervoor dat de waarde niet meegenomen wordt in vergelijkingen.



Let op wat er gebeurt als we de "Vijfde deelvraag" aanvinken bij de vraag '"Welke rijen moeten eronder verschijnen"' . De som voor de vraag "Vul enkele cijfers in" is nu 5. Hoewel subvraag 5 voor die vraag nog steeds de waarde 14 heeft (bijv. Als u de vijfde deelvraag uitvinkt, ziet u de waarde van 14 opnieuw), die waarde draagt ​​niet bij aan de som, omdat die op dat moment niet relevant is. Alle niet-relevante gegevens worden gewist (NULLed in de database) bij het opslaan bij het verzenden, maar blijven staan op de pagina voor het geval gebruikers hun invoer wil wijzigen.



Download

Voorbeeld downloaden.


Gebruik van een komma in getallen (Decimale punt)

Overzicht

Expressiebeheer zorgt ervoor dat alleen geldige nummers in numerieke velden kunnen worden ingevoerd. Als u een ongeldig nummer invoert, wordt u gewaarschuwd dat er iets niet klopt (bijv. In het geval van het fruitige thema wordt de hele vraag roodgemaakt).

Merk op dat de numerieke waarden altijd worden geconverteerd naar een punt als het decimaal scheidingsteken (radix) in de database. Op deze manier zullen de statistische analyses op de juiste manier werken.

Om het decimaal scheidingsteken te wijzigen, open je de Tekstelementen-opties op het tabblad Instellingen en zoek je naar de functie Decimaal scheidingsteken.


Klik voor meer informatie over wat een decimaal scheidingsteken (radix) is : [1].


Vraagtypes met decimale getallen

  1. Numerieke invoer [N]
  2. Meervoudige numerieke invoer [K]
  3. Array (getallen) [:]
  4. Array (teksten) [;], when using the numbers_only attribute
  5. Lijst (Radioknoppen) [L], bij gebruik van het attribuut. Uitsluitend getallen.
  6. Korte vrije tekst [S], bij gebruik van het attribuut Uitsluitend getallen.
  7. Meerdere korte vrije teksten [Q], bij gebruik van het attribuut Uitsluitend getallen.
  8. Meerkeuzevraag [M], bij gebruik van het attribuut Uitsluitend getallen.
  9. Meerkeuzevraag met opmerkingen [P], bij gebruik van het attribuut Uitsluitend getallen.


Schermafdruk

Je kunt in de onderstaande schermafbeeldingen zien dat de komma als decimaal scheidingsteken kan worden gebruikt.



Download

Voorbeeld downloaden.


Randomisatie groepen

Overzicht

Deze enquête laat zien hoe je gebruik kunt maken van het attribuut 'willekeurige groep (random_group)' .

Als dit attribuut wordt gebruikt wordt de vraagvolgorde, elke keer dat de enquête wordt gestart, gerandomiseerd. Zodra de enquête is gestart, blijft de volgorde echter ongewijzigd, ook als je de taal aanpast.


Schermafdruk

Laten we het onderstaande voorbeeld bekijken. De eerste willekeurige vraag op de pagina is Q1, Q4 of Q7. De tweede willekeurige vraag op de pagina is Q2, Q5 of Q8.



Hier is de gegenereerde volgorde bij het eerste keer testen.



Hier is de gegenereerde volgorde bij de tweede keer testen.



Bij het wisselen van de taal naar Frans (zonder de enquête opnieuw te starten), blijft de volgorde hetzelfde.



Download

Voorbeeld downloaden.


Willekeurig een vraag stellen per groep

Overzicht

Deze enquête laat zien hoe je een enquête kunt configureren om willekeurig één vraag per groep weer te geven. Er zijn 5 groepen met elk 6 vragen. In het begin zijn er in groep 0 vijf verborgen vergelijkingsvragen, ask1-ask5 genaamd. Elk heeft de waarde van {floor (rand (1,6.9999))} in het antwoord van de vraag, wat betekent dat de variabelen ask1-ask5 elk een waarde tussen 1 en 6 hebben. Verder heeft elke vraag in de groep een relevantievergelijking "ask1 == N" waarbij N de N-de vraag in de groep is (voorbeeld: de derde vraag in groep 1 heeft de relevantievergelijking "ask1 == 3").

Deze enquête werkt zowel in de 'alles in een keer', 'groep voor groep' als de 'vraag voor vraag'-modus. Aangezien de randomisatie is ingesteld in de eerste groep en die groep is verborgen (omdat alle vragen van ask1-ask5 zijn verborgen), blijft de randomisatie hetzelfde voor het onderwerp, maar elk onderwerp zal een andere randomisatie hebben.


Functies gedemonstreerd

  1. Vraagtype vergelijking
  2. Randomizatie functies
  3. Conditionele (if) functie


Schermafdruk

Dit is Group0, die het vraagtype Vergelijking gebruikt om willekeurige waarden van 1 tot 6 voor elke groep te selecteren (behalve de laatste groep, die slechts 4 vragen heeft). Merk op dat de functie "if ( )" eerst controleert of vraag1 al is ingesteld en zo ja, die waarde gebruikt. Als de waarde niet is ingesteld, gebruikt deze een willekeurige waarde om de waarde van ask1 in te stellen.



Deze groep laat zien hoe de variabele (ask4) uit Group0 wordt gebruikt om te bepalen welke vraag zichtbaar is in de vierde groep.



Download

Voorbeeld download.


Willekeurig een bepaald aantal vragen stellen uit een groep (een subset van de vragen)

  Dit is alleen van toepassing op alle willekeurige vragen uit één groep en alleen als de 'Groep voor groep' of 'Alles in een keer' -modus wordt gebruikt.



Overzicht

Deze enquête toont hoe je een aantal willekeurige vragen uit een groep kun tonen. Voorbeeld: toon 5 willekeurige vragen uit een groep met 10 vragen.

De enquête heeft een groep met 10 vragen. Alle vragen hebben dezelfde randomisatiegroepsnaam. Daardoor worden ze bij het laden van de pagina in een willekeurige volgorde getoond. Elke vraag heeft een relevantievergelijking dat de som van de "relevantieStatus" van alle andere vragen in de groep kleiner is dan het aantal vragen dat je wilt laten tonen. Omdat de status wordt toekent aan de vragen bij het weergeven, betekent dit dat het aantal al getoonde vragen eigenlijk geteld wordt.

Dus in ons voorbeeld 'toon 5 van de 10' zou de vergelijking voor Q1 zijn:

sum(Q2.relevanceStatus, Q3.relevanceStatus, Q4.relevanceStatus, Q5.relevanceStatus, Q6.relevanceStatus, Q7.relevanceStatus, Q8.relevanceStatus, Q9.relevanceStatus, Q10.relevanceStatus) LT 5

Voor Q2 zou het zijn:

sum(Q1.relevanceStatus, Q3.relevanceStatus, Q4.relevanceStatus, Q5.relevanceStatus, Q6.relevanceStatus, Q7.relevanceStatus, Q8.relevanceStatus, Q9.relevanceStatus, Q10.relevanceStatus) LT 5

Enzovoort...


Functies gedemonstreerd

  1. relevanceStatus variable
  2. Randomisatie


Download

Voorbeeld downloaden.

Beoordelen door gebruiker geselecteerde producten

Overzicht

In het onderstaande voorbeeld zie je hoe je gebruikers kunt vragen een reeks producten te vermelden die hen interesseren, en ze vervolgens die producten laten beoordelen.


Functies gedemonstreerd

  1. Maatwerk antwoorden : bij het beoordelen van producten komen de labels uit het commentaarveld van de voorafgaande meerkeuzevraag.
  2. Maatwerk schalen : veel geavanceerde vragenopties, zoals schaalrubrieken, kunnen ook op maat worden gemaakt.


Schermafdruk

Deze afbeelding laat zien dat omdat alleen producten 1, 3 en 5 zijn geselecteerd, daarna alleen die 3 worden weergegeven (met behulp van het array_filter). Verder zijn de rijlabels in de tweede vraag ofwel het productnummer (als er niets is ingevoerd in het opmerkingenveld) of de inhoud van het opmerkingenveld.



Deze afbeelding laat zien hoe de op maat gemaakte vragen worden gespecificeerd.



Dit is het logica-bestand van deze vraag, waarmee je kunt controleren of de voorwaardelijke logica naar wens werkt (zijn er geen syntaxfouten):



De volgende afbeelding toont een groep waarin een 5-punts beoordelingsschaal wordt gespecificeerd (opties 1-5), de titel van de schaal en de producten die u wilt beoordelen. De laatste vraag laat zien dat elk van de onderdelen van de array-vraag kan worden aangepast met maatwerk:



De volgende afbeelding toont de logica-bestand van de laatste vraag. Zoals je kunt zien, kunnen de subvragen, antwoorden en schaalteksten met maatwerk worden aangepast.



Download

Voorbeeld downloaden.