Пропуск питань
Логіка пропуску, також відома як розгалуження або умовна логіка, дозволяє створювати динамічні опитування, що адаптуються до відповідей респондентів. У rtSurvey логіка пропуску реалізована за допомогою стовпця relevant у вашому XLSForm.
Базова логіка пропуску
Для реалізації базової логіки пропуску використовуйте стовпець relevant, щоб вказати умову:
| type | name | label | relevant |
|----------------|---------------|-----------------------------|--------------------|
| select_one y_n | likes_pizza | Do you like pizza? | |
| select_multiple pizza_toppings | favorite_topping | Favorite toppings | ${likes_pizza} = 'yes' |
У цьому прикладі питання “Favorite toppings” з’являється лише якщо респондент відповів “yes” на питання про улюблену піцу.
Синтаксис виразів relevant
- Використовуйте
${ }для посилання на інші змінні питань. - Для питань
select_oneпорівнюйте безпосередньо:${question_name} = 'answer' - Для питань
select_multipleвикористовуйте функціюselected().
Розширена логіка пропуску
Кілька умов
Ви можете об’єднувати кілька умов за допомогою and, or та дужок:
| type | name | label | relevant |
|---------|-------|-------------------------|-------------------------------------------|
| integer | age | What is your age? | |
| text | school| What school do you attend? | ${age} < 18 and (${location} = 'urban' or ${location} = 'suburban') |
Використання питань select_multiple
Для питань select_multiple використовуйте функцію selected():
| type | name | label | relevant |
|----------------|---------------|-----------------------------|-----------------------------------------|
| select_multiple pizza_toppings | favorite_topping | Favorite toppings | |
| text | cheese_type | Favorite type of cheese | selected(${favorite_topping}, 'cheese') |
Варіант “Інше” у виборі з кількох відповідей
Реалізуйте варіант вільного тексту “Інше” за допомогою relevant:
| type | name | label | relevant |
|----------------|----------------------|-------------------------------------|---------------------------------------|
| select_multiple pizza_toppings | favorite_toppings | What are your favorite pizza toppings? | |
| text | favorite_toppings_other | What other toppings do you like? | selected(${favorite_toppings}, 'other') |
Пам’ятайте включити ‘other’ як варіант у таблицю choices.
Специфічні функції rtSurvey
Динамічна актуальність
rtSurvey дозволяє динамічну актуальність на основі обчислюваних полів:
| type | name | label | calculation |
|-----------|------------|--------------------|-----------------------------|
| calculate | total_score| Total Score | ${score1} + ${score2} + ${score3} |
| text | feedback | Feedback | ${total_score} > 75 |
Актуальність у повторах
rtSurvey підтримує актуальність у групах повторів:
| type | name | label | relevant |
|--------------|--------------|------------------|------------------------|
| begin repeat | child_info | Child Information| |
| integer | child_age | Child's Age | |
| text | school_name | School Name | ${child_age} >= 5 |
| end repeat | | | |
Каскадна актуальність
rtSurvey ефективно обробляє каскадну актуальність, де актуальність одного питання залежить від іншого, яке, своєю чергою, залежить від третього:
| type | name | label | relevant |
|----------------|-------------|------------------------|------------------------|
| select_one y_n | has_car | Do you own a car? | |
| select_one car_type | car_type | What type of car? | ${has_car} = 'yes' |
| text | model | Specific model | ${car_type} = 'sedan' |
Найкращі практики логіки пропуску в rtSurvey
- Тримайте простоту: Уникайте надмірно складних умов актуальності, де це можливо.
- Тестуйте ретельно: Використовуйте функцію попереднього перегляду rtSurvey для тестування всіх можливих шляхів у вашому опитуванні.
- Враховуйте продуктивність: Дуже складна логіка пропуску може впливати на продуктивність опитування, особливо на мобільних пристроях.
- Використовуйте чіткі назви змінних: Це робить вирази актуальності легшими для читання та підтримки.
- Документуйте свою логіку: Додавайте примітки для пояснення складних шаблонів пропуску, особливо для командної співпраці.
- Пам’ятайте про аналіз даних: Пропущені питання призведуть до відсутніх даних. Плануйте свій аналіз відповідно.
Усунення неполадок логіки пропуску
- Синтаксичні помилки: Переконайтеся, що всі
${ }правильно закриті та написані правильно. - Кругові посилання: Уникайте створення петель, де питання залежать одне від одного.
- Чутливість до регістру: Пам’ятайте, що варіанти відповідей чутливі до регістру у виразах актуальності.
- Числові порівняння: Використовуйте відповідні оператори (
<,>,=) для числових порівнянь.
Висновок
Ефективне використання логіки пропуску може значно покращити досвід респондентів та якість даних у ваших проектах rtSurvey. Використовуючи розширені функції rtSurvey та дотримуючись найкращих практик, ви можете створювати динамічні, ефективні опитування, що адаптуються до унікальної ситуації кожного респондента.