Preskakanje pitanja
Logika preskakanja, poznata i kao razgranavanje ili uslovna logika, vam dozvoljava da kreirate dinamičke ankete koje se prilagođavaju odgovorima ispitanika. U rtSurvey-u, logika preskakanja se implementira koristeći kolonu relevant u vašem XLSForm-u.
Osnovna logika preskakanja
Za implementaciju osnovne logike preskakanja, koristite kolonu relevant za specificiranje uslova:
| type | name | label | relevant |
|----------------|---------------|-----------------------------|--------------------|
| select_one y_n | likes_pizza | Da li volite picu? | |
| select_multiple pizza_toppings | favorite_topping | Omiljeni prelivi | ${likes_pizza} = 'yes' |
U ovom primeru, pitanje “Omiljeni prelivi” se pojavljuje samo ako ispitanik odgovori “da” na pitanje o pizzi.
Sintaksa za relevantne izraze
- Koristite
${ }za referencing других promenljivih pitanja. - Za pitanja
select_one, direktno poredite:${ime_pitanja} = 'odgovor' - Za pitanja
select_multiple, koristite funkcijuselected().
Napredna logika preskakanja
Više uslova
Možete kombinovati više uslova koristeći and, or i zagrade:
| type | name | label | relevant |
|---------|-------|-------------------------|-------------------------------------------|
| integer | age | Koliko imate godina? | |
| text | school| Koju školu pohađate? | ${age} < 18 and (${location} = 'urban' or ${location} = 'suburban') |
Korišćenje pitanja select_multiple
Za pitanja select_multiple, koristite funkciju selected():
| type | name | label | relevant |
|----------------|---------------|-----------------------------|-----------------------------------------|
| select_multiple pizza_toppings | favorite_topping | Omiljeni prelivi | |
| text | cheese_type | Omiljeni tip sira | selected(${favorite_topping}, 'cheese') |
Opcija “Drugo” u višestrukom izboru
Implementirajte opciju slobodnog teksta “Drugo” koristeći relevant:
| type | name | label | relevant |
|----------------|----------------------|-------------------------------------|---------------------------------------|
| select_multiple pizza_toppings | favorite_toppings | Koji su vaši omiljeni prelivi za picu? | |
| text | favorite_toppings_other | Koje druge prelivе volite? | selected(${favorite_toppings}, 'other') |
Ne zaboravite da uključite ‘other’ kao opciju u radnom listu choices.
Funkcije specifične za rtSurvey
Dinamička relevantnost
rtSurvey dozvoljava dinamičku relevantnost zasnovanu na izračunatim poljima:
| type | name | label | calculation |
|-----------|------------|--------------------|-----------------------------|
| calculate | total_score| Ukupan skor | ${score1} + ${score2} + ${score3} |
| text | feedback | Povratne informacije | ${total_score} > 75 |
Relevantnost u ponavljanjima
rtSurvey podržava relevantnost unutar grupa ponavljanja:
| type | name | label | relevant |
|--------------|--------------|------------------|------------------------|
| begin repeat | child_info | Informacije o detetu | |
| integer | child_age | Starost deteta | |
| text | school_name | Naziv škole | ${child_age} >= 5 |
| end repeat | | | |
Kaskadna relevantnost
rtSurvey efikasno rukuje kaskadnom relevantnošću, gde relevantnost jednog pitanja zavisi od drugog, koje zauzvrat zavisi od trećeg:
| type | name | label | relevant |
|----------------|-------------|------------------------|------------------------|
| select_one y_n | has_car | Da li posedujete auto? | |
| select_one car_type | car_type | Koji tip auta? | ${has_car} = 'yes' |
| text | model | Specifični model | ${car_type} = 'sedan' |
Najbolje prakse za logiku preskakanja u rtSurvey-u
- Zadržite jednostavnost: Izbegavajte previše složene uslove relevantnosti kada je moguće.
- Temeljno testirajte: Koristite funkciju pregleda rtSurvey-a za testiranje svih mogućih putanja kroz anketu.
- Razmatrajte performanse: Veoma složena logika preskakanja može uticati na performanse ankete, posebno na mobilnim uređajima.
- Koristite jasna imena promenljivih: Ovo čini vaše izraze relevantnosti lakšim za čitanje i održavanje.
- Dokumentujte logiku: Dodajte napomene za objašnjavanje složenih obrazaca preskakanja, posebno za saradnju u timu.
- Budite svesni analize podataka: Preskočena pitanja će rezultirati nedostajućim podacima. Planirajte analizu u skladu s tim.
Rešavanje problema sa logikom preskakanja
- Greške u sintaksi: Osigurajte da su svi
${ }pravilno zatvoreni i ispravno napisani. - Kružne reference: Izbegavajte kreiranje petlji gde pitanja zavise jedno od drugog.
- Osetljivost na velika/mala slova: Zapamtite da su opcije odgovora osetljive na velika/mala slova u izrazima relevantnosti.
- Numerička poređenja: Koristite odgovarajuće operatore (
<,>,=) za numerička poređenja.
Zaključak
Efikasna upotreba logike preskakanja može značajno poboljšati iskustvo ispitanika i kvalitet podataka u vašim rtSurvey projektima. Koristeći napredne funkcije rtSurvey-a i prateći najbolje prakse, možete kreirati dinamičke, efikasne ankete koje se prilagođavaju jedinstvenoj situaciji svakog ispitanika.