Logika preskakovania, tiež známa ako vetvenie alebo podmienená logika, vám umožňuje vytvárať dynamické prieskumy, ktoré sa prispôsobujú odpovediam respondentov. V rtSurvey je logika preskakovania implementovaná pomocou stĺpca relevant vo vašom XLSForm.

Základná logika preskakovania

Na implementáciu základnej logiky preskakovania použite stĺpec relevant na zadanie podmienky:

  | type           | name          | label                       | relevant            |
|----------------|---------------|-----------------------------|--------------------|
| select_one y_n | likes_pizza   | Máte radi pizzu?          |                    |
| select_multiple pizza_toppings | favorite_topping | Obľúbené suroviny | ${likes_pizza} = 'yes' |
  

V tomto príklade sa otázka „Obľúbené suroviny" zobrazí iba vtedy, keď respondent odpovie „áno" na otázku o tom, či má rád pizzu.

Syntax výrazov relevant

  • Na odkazovanie premenných iných otázok použite ${ }.
  • Pre otázky select_one porovnávajte priamo: ${question_name} = 'answer'
  • Pre otázky select_multiple použite funkciu selected().

Pokročilá logika preskakovania

Viacero podmienok

Môžete kombinovať viacero podmienok pomocou and, or a závoriek:

  | type    | name  | label                   | relevant                                  |
|---------|-------|-------------------------|-------------------------------------------|
| integer | age   | Koľko máte rokov?       |                                           |
| text    | school| Akú školu navštevujete? | ${age} < 18 and (${location} = 'urban' or ${location} = 'suburban') |
  

Použitie otázok select_multiple

Pre otázky select_multiple použite funkciu selected():

  | type           | name          | label                       | relevant                               |
|----------------|---------------|-----------------------------|-----------------------------------------|
| select_multiple pizza_toppings | favorite_topping | Obľúbené suroviny |                                         |
| text           | cheese_type   | Obľúbený typ syra     | selected(${favorite_topping}, 'cheese') |
  

Možnosť „Iné" pri výbere z viacerých

Implementujte voľnotextovú možnosť „Iné" pomocou relevant:

  | type           | name                  | label                               | relevant                               |
|----------------|----------------------|-------------------------------------|---------------------------------------|
| select_multiple pizza_toppings | favorite_toppings | Aké sú vaše obľúbené suroviny na pizzu? |                                       |
| text           | favorite_toppings_other | Aké iné suroviny máte radi?   | selected(${favorite_toppings}, 'other') |
  

Nezabudnite zahrnúť „other" ako možnosť vo vašom hárku choices.

Funkcie špecifické pre rtSurvey

Dynamická relevantnosť

rtSurvey umožňuje dynamickú relevantnosť na základe vypočítaných polí:

  | type      | name       | label              | calculation                   |
|-----------|------------|--------------------|-----------------------------|
| calculate | total_score| Celkové skóre        | ${score1} + ${score2} + ${score3} |
| text      | feedback   | Spätná väzba           | ${total_score} > 75             |
  

Relevantnosť v opakovaniach

rtSurvey podporuje relevantnosť vo vnútri skupín opakovania:

  | type         | name         | label            | relevant               |
|--------------|--------------|------------------|------------------------|
| begin repeat | child_info   | Informácie o dieťati|                        |
| integer      | child_age    | Vek dieťaťa      |                        |
| text         | school_name  | Názov školy      | ${child_age} >= 5      |
| end repeat   |              |                  |                        |
  

Kaskádová relevantnosť

rtSurvey efektívne spracúva kaskádovú relevantnosť, kde závisí relevantnosť jednej otázky od inej, ktorá závisí od tretej:

  | type           | name        | label                  | relevant               |
|----------------|-------------|------------------------|------------------------|
| select_one y_n | has_car     | Vlastníte auto?      |                        |
| select_one car_type | car_type | Aký typ auta?    | ${has_car} = 'yes'     |
| text           | model       | Konkrétny model         | ${car_type} = 'sedan'  |
  

Najlepšie postupy pre logiku preskakovania v rtSurvey

  1. Udržujte jednoduchosť: Ak je to možné, vyhnite sa príliš zložitým podmienkam relevantnosti.
  2. Dôkladne testujte: Použite funkciu náhľadu rtSurvey na testovanie všetkých možných ciest cez váš prieskum.
  3. Zvážte výkon: Veľmi zložitá logika preskakovania môže ovplyvniť výkon prieskumu, najmä na mobilných zariadeniach.
  4. Používajte jasné názvy premenných: Vďaka tomu sú vaše výrazy relevantnosti ľahšie čitateľné a udržiavateľné.
  5. Dokumentujte svoju logiku: Pridajte poznámky na vysvetlenie zložitých vzorcov preskakovania, najmä pri tímovej spolupráci.
  6. Buďte pozorní na analýzu dát: Preskočené otázky budú mať za následok chýbajúce dáta. Plánujte svoju analýzu zodpovedajúcim spôsobom.

Riešenie problémov s logikou preskakovania

  • Syntaktické chyby: Uistite sa, že všetky ${ } sú správne uzatvorené a napísané.
  • Kruhové referencie: Vyhnite sa vytváraniu slučiek, kde otázky závisia jedna od druhej.
  • Citlivosť na veľkosť písmen: Pamätajte, že možnosti odpovedí sú citlivé na veľkosť písmen vo výrazoch relevantnosti.
  • Numerické porovnania: Používajte vhodné operátory (<, >, =) pre numerické porovnania.

Záver

Efektívne využívanie logiky preskakovania môže výrazne zlepšiť zážitok respondentov a kvalitu dát vo vašich projektoch rtSurvey. Využitím pokročilých funkcií rtSurvey a dodržiavaním najlepších postupov môžete vytvárať dynamické, efektívne prieskumy, ktoré sa prispôsobujú jedinečnej situácii každého respondenta.

Bola táto stránka užitočná?