Повторювані питання
Повтори — потужна функція rtSurvey, що дозволяє збирати однаковий набір інформації кілька разів у межах одного опитування. Це особливо корисно для таких сценаріїв, як опитування домогосподарств, де потрібно збирати дані про кількох членів домогосподарства.
Базова структура повтору
Для створення повтору в rtSurvey використовуйте конструкцію begin repeat та end repeat:
| type | name | label |
|--------------|--------------|----------------------|
| begin repeat | child_repeat | |
| text | name | Child's name |
| decimal | birthweight | Child's birthweight |
| select_one male_female | sex | Child's sex |
| end repeat | | |
У цьому прикладі користувач може збирати інформацію про кількох дітей, додаючи нові повтори у формі.
Позначення повторів
Хоча стовпець label необов’язковий для begin repeat, додавання мітки може покращити навігацію:
| type | name | label |
|--------------|--------------|----------------------|
| begin repeat | child_repeat | Child Information |
| text | name | Child's name |
| decimal | birthweight | Child's birthweight |
| select_one male_female | sex | Child's sex |
| end repeat | | |
rtSurvey відображатиме “Child Information” як заголовок для кожного екземпляру повтору.
Фіксована кількість повторів
Щоб вказати фіксовану кількість повторів, використовуйте стовпець repeat_count:
| type | name | label | repeat_count |
|--------------|--------------|----------------------|--------------|
| begin repeat | child_repeat | Child Information | 3 |
| text | name | Child's name | |
| decimal | birthweight | Child's birthweight | |
| end repeat | | | |
Це створить рівно 3 повтори дитини.
Динамічна кількість повторів
rtSurvey підтримує динамічну кількість повторів на основі попередніх відповідей:
| type | name | label | repeat_count |
|----------|----------------|--------------------------------|--------------------|
| integer | num_hh_members | Number of household members? | |
| begin repeat | hh_member | Household Member | ${num_hh_members} |
| text | name | Name | |
| integer | age | Age | |
| end repeat | | | |
Умовні повтори
Ви можете використовувати стовпець relevant для умовного відображення повторів:
| type | name | label | relevant |
|-------------------|-------------|---------------------------|---------------------|
| select_one yes_no | has_child | Do any children live here?| |
| begin repeat | child_repeat| Child Information | ${has_child} = 'yes'|
| text | name | Child's name | |
| decimal | birthweight | Child's birthweight | |
| end repeat | | | |
Специфічні функції rtSurvey
Зведення повторів
rtSurvey надає зведений вигляд повторів. Для налаштування зведення використовуйте групу всередині повтору:
| type | name | label |
|--------------|--------------|------------------------------------------|
| begin repeat | person_repeat| |
| begin group | person | ${first_name} ${last_name} - ${age} |
| text | first_name | First name |
| text | last_name | Last name |
| integer | age | Age |
| end group | | |
| end repeat | | |
Параметри appearance повторів
rtSurvey пропонує додаткові параметри appearance для повторів:
appearance: field-list— Відображає всі питання в повторі на одному екраніappearance: table-list— Представляє повтори у табличному форматі
| type | name | label | appearance |
|--------------|--------------|-------------------|-------------|
| begin repeat | child_repeat | Child Information | table-list |
| text | name | Name | |
| integer | age | Age | |
| end repeat | | | |
Вкладені повтори
rtSurvey підтримує вкладені повтори для складних структур даних:
| type | name | label |
|--------------|----------------|----------------------|
| begin repeat | household | Household |
| text | hh_name | Household Name |
| begin repeat | hh_member | Household Member |
| text | member_name | Member Name |
| integer | member_age | Member Age |
| end repeat | | |
| end repeat | | |
Найкращі практики використання повторів у rtSurvey
- Використовуйте значущі імена та мітки для повторів для покращення аналізу даних.
- Розгляньте використання динамічної кількості повторів для зменшення помилок введення даних.
- Ретельно тестуйте форму, особливо при використанні складних вкладених повторів.
- Використовуйте функцію зведення для допомоги анкетерам в навігації по довгих списках повторів.
- Будьте обережні з великою кількістю повторів, оскільки вони можуть впливати на продуктивність форми.
Обробка нульових повторів
Для представлення нуля повторів у rtSurvey:
- Навчіть анкетерів видаляти перший повтор, якщо він не потрібен.
- Використовуйте динамічну кількість повторів, коли точна кількість відома.
- Використовуйте
relevantдля умовного відображення повторів.
Питання експорту даних
При експорті даних з rtSurvey дані повторів зазвичай “розгортаються”. Кожен екземпляр повтору стає окремим рядком у експортованих даних, а дані батьківської форми повторюються для кожного екземпляру.
Міркування щодо мобільного додатку
- Повтори у мобільному додатку rtSurvey підтримують офлайн-збір даних.
- Велика кількість повторів може впливати на продуктивність додатку на пристроях нижчого класу.
Ефективно використовуючи повтори в rtSurvey, ви можете створювати гнучкі та потужні опитування, здатні захоплювати складні, ієрархічні структури даних, зберігаючи зручний інтерфейс для анкетерів.